在 Python 中使用 PyPDF2 向 PDF 文件批量添加水印

PDF 文件广泛用于不同的设备和平台上,在某些情况下,可能需要在 PDF 文件中申明版权,需要将水印、条形码、二维码等添加到 PDF 中。PyPDF2 提供了一种将另一个 PDF 文件作为水印,添加到 PDF 文件的方法。

在下面的示例中,制作一个 PDF 水印文档,可以加入文字、二维码,通过合并的方法为 PDF 文件添加水印。

使用 PyPDF2 添加水印到 PDF 文件

将水印添加到 PDF 页面,可以使用 merge_page() 方法。

import PyPDF2
input_file = "1.pdf"
output_file = "2.pdf"
watermark_file = "watermark.pdf"
with open(input_file, "rb") as filehandle_input:
    pdf = PyPDF2.PdfReader(filehandle_input)
    with open(watermark_file, "rb") as filehandle_watermark:
        watermark = PyPDF2.PdfReader(filehandle_watermark)
        first_page = pdf.pages[0] # 获取源文件第一页
        first_page_watermark = watermark.pages[0] # 获取水印文件第一页
        first_page.merge_page(first_page_watermark) # 合并
        pdf_writer = PyPDF2.PdfWriter()
        pdf_writer.add_page(first_page) # 添加到目标文件
        with open(output_file, "wb") as output:
            pdf_writer.write(output)

批量添加水印到 PDF 文件所有页

使用 for 循环,遍历整个 PDF 文件,并逐页读取,每一页与水印文件进行合并。

import PyPDF2
input_file = "1.pdf"
output_file = "2.pdf"
watermark_file = "watermark.pdf"
with open(input_file, "rb") as filehandle_input:
    # 读源文件
    pdf = PyPDF2.PdfReader(filehandle_input)
    with open(watermark_file, "rb") as filehandle_watermark:
        # 读水印文件
        watermark = PyPDF2.PdfReader(filehandle_watermark)
        pdf_writer = PyPDF2.PdfWriter()
        for page in range(len(pdf.pages)):
        # 遍历源文件每一页
            pdfpage = pdf.pages[page]
            first_page_watermark = watermark.pages[0]
            pdfpage.merge_page(first_page_watermark)
            pdf_writer.add_page(pdfpage)
        with open(output_file, "wb") as output:
            pdf_writer.write(output)

水印 PDF 文件制作:

在 Word 中插入文本框,调整文字字体、字号、颜色、位置等,设置文本框无填充色。或者插入背景透明的图片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信息科技云课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值