场景

PyPDF 2是一个纯python PDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。它可以从PDF检索文本和元数据,还可以将整个文件合并在一起。

PyPDF 2 1.26.0文档:

https://pythonhosted.org/PyPDF2/

实现

使用pip 安装pypddf2

Python中通过PyPDF2实现PDF添加水印_pyPDF2

新建文件夹waterPDF

在此文件下新建1.pdf用于添加水印

Python中通过PyPDF2实现PDF添加水印_文件合并_02

再新建watermark.pdf作为要添加的水印的内容

Python中通过PyPDF2实现PDF添加水印_文件合并_03

再新建waterPDF.py

from PyPDF2 import PdfFileWriter, PdfFileReader

def create_watermark(input_pdf, output, watermark):
    watermark_obj = PdfFileReader(watermark)
    watermark_page = watermark_obj.getPage(0)

    pdf_reader = PdfFileReader(input_pdf)
    pdf_writer = PdfFileWriter()

    # 给所有页面添加水印
    for page in range(pdf_reader.getNumPages()):
        page = pdf_reader.getPage(page)
        page.mergePage(watermark_page)
        pdf_writer.addPage(page)

    with open(output, 'wb') as out:
        pdf_writer.write(out)

if __name__ == '__main__':
    create_watermark(
        input_pdf='1.pdf',
          output='watermarked.pdf',
        watermark='watermark.pdf')

运行效果

Python中通过PyPDF2实现PDF添加水印_python_04

此时会在文件夹下生成watermarked.pdf

Python中通过PyPDF2实现PDF添加水印_python_05