python 使用PyPDF2给pdf 加水印

发布时间 2023-04-21 18:09:53作者: 声声慢43

PyPDF2是一个纯python PDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。

1.安装

pip install PyPDF2

 2.实现

1)准备水印文件,需要加水印的pdf

2)编写脚本

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()

    #add watermark ro all pages
    for page in range(pdf_reader.getNumPages()):
        print page
        page = pdf_reader.getPage(page)
        page.mergePage(watermark_page)
        page.compressContentStreams()  #压缩页面
        pdf_writer.addPage(page)
    with open(output, 'wb') as out:
        pdf_writer.write(out)

if __name__ == '__main__':
    create_watermark(input_pdf='report.pdf',output='watermarked_compress1.pdf',watermark='water.pdf')

report.pdf只有10页,添加后的文件大小:

 缺点:

  • 1)添加速度非常慢,基本上一页一秒钟
  • 2)添加后文件比较大

 

参考:https://blog.csdn.net/weixin_42311427/article/details/113493188

https://www.jb51.net/article/204754.htm