PDF 文件广泛用于不同的设备和平台上,在某些情况下,可能需要在 PDF 文件中申明版权,需要将水印、条形码、二维码等添加到 PDF 中。PyPDF2 提供了一种将另一个 PDF 文件作为水印,添加到 PDF 文件的方法。
在下面的示例中,制作一个 PDF 水印文档,可以加入文字、二维码,通过合并的方法为 PDF 文件添加水印。
使用 PyPDF2 添加水印到 PDF 文件
将水印添加到 PDF 页面,可以使用 merge_page() 方法。
import PyPDF2
input_file = "1.pdf"
output_file = "2.pdf"
watermark_file = "watermark.pdf"
with open(input_file, "rb") as filehandle_input:
pdf = PyPDF2.PdfReader(filehandle_input)
with open(watermark_file, "rb") as filehandle_watermark:
watermark = PyPDF2.PdfReader(filehandle_watermark)
first_page = pdf.pages[0] # 获取源文件第一页
first_page_watermark = watermark.pages[0] # 获取水印文件第一页
first_page.merge_page(first_page_watermark) # 合并
pdf_writer = PyPDF2.PdfWriter()
pdf_writer.add_page(first_page) # 添加到目标文件
with open(output_file, "wb") as output:
pdf_writer.write(output)
批量添加水印到 PDF 文件所有页
使用 for 循环,遍历整个 PDF 文件,并逐页读取,每一页与水印文件进行合并。
import PyPDF2
input_file = "1.pdf"
output_file = "2.pdf"
watermark_file = "watermark.pdf"
with open(input_file, "rb") as filehandle_input:
# 读源文件
pdf = PyPDF2.PdfReader(filehandle_input)
with open(watermark_file, "rb") as filehandle_watermark:
# 读水印文件
watermark = PyPDF2.PdfReader(filehandle_watermark)
pdf_writer = PyPDF2.PdfWriter()
for page in range(len(pdf.pages)):
# 遍历源文件每一页
pdfpage = pdf.pages[page]
first_page_watermark = watermark.pages[0]
pdfpage.merge_page(first_page_watermark)
pdf_writer.add_page(pdfpage)
with open(output_file, "wb") as output:
pdf_writer.write(output)
水印 PDF 文件制作:
在 Word 中插入文本框,调整文字字体、字号、颜色、位置等,设置文本框无填充色。或者插入背景透明的图片。