python 实现 PDF 添加水印

1. 代码部分

from PyPDF2 import PdfFileReader,PdfFileWriter
from copy import copy

mark_paf = PdfFileReader("4.pdf")
mark_page = mark_paf.getPage(0)

pdf_reader = PdfFileReader("5.pdf")
pdf_writer = PdfFileWriter()

for page in range(pdf_reader.getNumPages()):
	page = pdf_reader.getPage(page)
	news_page = copy(mark_page)
	news_page.mergePage(page)
	pdf_writer.addPage(news_page)

with open("6.pdf","wb") as out:
	pdf_writer.write(out)

2. 需要的参数详解

  1. "4.pdf" 为水印文件
  2. "5.pdf" 为加水印文件
  3. "6.pdf" 为输出文件

注释: 文件 6.pdf 可有可无, 如果不需要重新另存为的话可以直接将原代码中的 6.pdf 修改为 5.pdf 即可

3. 会报错的问题以及解决方法

  1. 报错内容

    python 实现 PDF 添加水印

  2. 找到对应的报错文件
    python 实现 PDF 添加水印

  3. 第 484 行源代码
    python 实现 PDF 添加水印

  4. 在 except 中添加代码
    python 实现 PDF 添加水印

  5. 修改后
    python 实现 PDF 添加水印

  6. 修改之后仍会报错, 需要修改另外一处,Lib/site-packages/PyPDF2/utils.py 第 238 行的原代码
    python 实现 PDF 添加水印

  7. 修改之后的代码
    python 实现 PDF 添加水印

  8. 参考文献
    https://blog.csdn.net/kmesky/article/details/102695520