使用Python中的PdfFileWriter()在PDF中插入水印
import PyPDF2
# 读取原始 PDF 文件
with open('original.pdf', 'rb') as file:
pdf = PyPDF2.PdfFileReader(file)
# 创建水印的 PDF 文件
watermark = PyPDF2.PdfFileReader('watermark.pdf')
# 创建输出的 PDF 文件
output_pdf = PyPDF2.PdfFileWriter()
# 将水印应用到每个页面
for i in range(pdf.getNumPages()):
page = pdf.getPage(i)
page.mergePage(watermark.getPage(0))
output_pdf.addPage(page)
# 将输出的 PDF 文件保存
with open('output.pdf', 'wb') as output_file:
output_pdf.write(output_file)
上述代码的作用是将一个水印 PDF 文件应用到原始 PDF 的每个页面上,并生成一个新的 PDF 文件。下面是代码的详细解释:
1. 首先,我们使用 open() 函数读取原始 PDF 文件,并创建一个 PdfFileReader 对象。
2. 接下来,我们使用 PdfFileReader() 函数读取包含水印的 PDF 文件,并创建一个 PdfFileReader 对象。
3. 然后,我们创建一个 PdfFileWriter 对象来保存带有水印的 PDF 文件。
4. 在一个循环中,我们使用 getNumPages() 函数遍历原始 PDF 文件的每个页面。然后,我们使用 getPage() 函数获取每个页面,并使用 mergePage() 函数将水印应用到页面上。
5. 最后,我们使用 addPage() 函数将带有水印的页面添加到输出的 PDF 文件中。
6. 最后,我们使用 open() 函数创建一个新的 PDF 文件,并使用 write() 函数将输出的 PDF 文件写入其中。
请注意,以上代码使用了 PyPDF2 库来操作 PDF 文件。在运行代码之前,您需要先安装该库。可以使用以下命令安装:
pip install PyPDF2
其中,'original.pdf' 是原始 PDF 文件的路径,'watermark.pdf' 是包含水印的 PDF 文件的路径,'output.pdf' 是输出的带有水印的 PDF 文件的路径。
使用以上代码,您可以轻松地将水印应用到 PDF 文件中,并生成一个新的包含水印的 PDF 文件。
