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