场景
PyPDF 2是一个纯python PDF库,能够分割、合并、裁剪和转换PDF文件的页面。它还可以向PDF文件中添加自定义数据、查看选项和密码。它可以从PDF检索文本和元数据,还可以将整个文件合并在一起。
PyPDF 2 1.26.0文档:
https://pythonhosted.org/PyPDF2/
实现
使用pip 安装pypddf2
新建文件夹waterPDF
在此文件下新建1.pdf用于添加水印
再新建watermark.pdf作为要添加的水印的内容
再新建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')
运行效果
此时会在文件夹下生成watermarked.pdf