在 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 中插入文本框,调整文字字体、字号、颜色、位置等,设置文本框无填充色。或者插入背景透明的图片。

相关文章

Python视频去水印方法总结

去除视频水印是一个复杂的过程,通常需要结合图像处理和计算机视觉技术。以下是几种常见方法及对应的Python实现思路,但请注意:去除他人版权水印可能涉及法律风险,请确保你有权处理目标视频。方法一:覆盖/...

用 Python 去除 PDF 水印,你学会吗?

今天介绍下用 Python 去除 PDF (图片)的水印。思路很简单,代码也很简洁。首先来考虑 Python 如何去除图片的水印,然后再将思路复用到 PDF 上面。这张图片是前几天整理《数据结构和算法...

超简单!为图片和 PDF 上去掉水印

作者:某某白米饭来源:Python 技术网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比如下面的图片就是在 pdf 文件上截取出来的。安装模块PIL:Python Imaging Lib...

AI壁纸创作革命:用DeepSeek+Python全自动去除图片水印

——附可商用级代码与多方案效果对比一、痛点觉醒:被水印支配的AI创作者作为日均产出300+AI壁纸的创作者,豆包生成的固定位置水印(右下角半透明Logo+文字)导致:单日浪费2.7小时手动PS修补不同...

使用Python给文件添加防伪水印?

防伪水印大家都不陌生,添加防伪水印的主要目的是保护文件的真实性和所有权,防止未经授权的复制、篡改和使用。下面我们就来看看通过Python如何实现为文件添加防伪水印的操作。使用Python添加防伪水印到...

python如何给图片添加文字水印?

方法:方法简单粗暴,打开图片然后在合适的位置绘制文字,最后保存。python可以使用PIL库来操作图片,不过据说PIL不支持python3,使用pillow作为替代。安装pillow: pip ins...