无法在正确位置合并pdf水印

问题描述 投票:0回答:1

我正在用 python 编写一个 pdf 编辑器,有 3 个函数:

  1. 删除最后一页
  2. 删除所有空白页
  3. 添加水印

我使用了标准的水印子程序,但水印一直被添加到测试 pdf 上的错误位置。代码或者pdf有问题吗?我想这是pdf

from PyPDF2 import PdfMerger, PdfReader, PdfWriter

pdf_file = "sample.pdf"
watermark = "watermark.pdf"
merged = "result.pdf"

with open(pdf_file, "rb") as input_file, open(watermark, "rb") as watermark_file:
    input_pdf = PdfReader(input_file)
    watermark_pdf = PdfReader(watermark_file)
    watermark_page = watermark_pdf.pages[0]

    output = PdfWriter()

    for i in range(len(input_pdf.pages)):
        pdf_page = input_pdf.pages[i]
        pdf_page.merge_page(watermark_page)
        output.add_page(pdf_page)

    with open(merged, "wb") as merged_file:
        output.write(merged_file)

我把它保存在replit.com上,这样你就可以运行它,pdf也在那里 https://replit.com/@ygp3737/NavyNotedTypes#main.py

pdf

python pdf
1个回答
0
投票

这里的问题是,Python 已经被用来破坏一本可打印书籍的非常好的源代码强加,该书籍本身是从公开可用的视频书籍中摘录的。

由于视频和 72 本书都是在公共领域发布的,因此似乎没有必要尝试为某个部分添加水印,特别是因为它是 Adobe InDesign 17.0 (Windows) Imposition 因此已经被之前的 PyPDF2 修改损坏了。

在这里我们可以看到所需的格式包括反向双布局,因为第 2 页应该在印刷厂中折叠或切开。

enter image description here

我建议你获取源文档并使用它进行打印,而不是使用劣质副本因此,打印时 14 页中的一些将“颠倒”,然后可以更轻松地将它们旋转为 PDF 页面,而不是摆弄 PyPDF 的方式被使用了。我不会费心添加水印,因为它们比旋转可打印输出的问题更容易删除。

https://res.littlefox.com/en/supplement/load_pdf/C0005234?_=242424

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.