水印两个PDF第一页的每一页,第二页的每一页

2024-09-30 12:24:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个相同长度的pdf文件,比如pdf1.pdf和pdf2.pdf。我正在尝试用pdf2.pdf为pdf1.pdf的每一页添加水印(即pdf1.pdf的第1页,pdf2.pdf的第2页,pdf2.pdf的第2页…)。在

然而,我真的在努力如何循环它们(我是编程新手)。在

例如,我尝试过:

import PyPDF2
from PyPDF2 import PdfFileMerger
from PyPDF2 import PdfFileReader, PdfFileWriter

output = PdfFileWriter()

ipdf = PdfFileReader(open('pdf1.pdf', 'rb'))
wpdf = PdfFileReader(open('pdf2.pdf', 'rb'))
for i in xrange(wpdf.getNumPages()):
    watermark = wpdf.getPage(i)
    for i in xrange(ipdf.getNumPages()):
        page = ipdf.getPage(i)

for i in watermark:
    page.mergePage(watermark)
    output.addPage(page)

with open('newfile.pdf', 'wb') as f:
   output.write(f)

如有任何帮助,我们将不胜感激:):)


Tags: infromimportforoutputpdfpageopen
1条回答
网友
1楼 · 发布于 2024-09-30 12:24:26

循环次数太多,页数是相同的,所以在pagecount上循环一次,获取水印,获取页面,将两者合并并添加到输出中:

import PyPDF2
from PyPDF2 import PdfFileMerger
from PyPDF2 import PdfFileReader, PdfFileWriter

output = PdfFileWriter()

ipdf = PdfFileReader(open('pdf1.pdf', 'rb'))
wpdf = PdfFileReader(open('pdf2.pdf', 'rb'))

# same page counts - just loop once
for i in xrange(wpdf.getNumPages()):
    watermark = wpdf.getPage(i)    # get i-th watermark
    page = ipdf.getPage(i)         # get i-th page
    page.mergePage(watermark)      # marry them and add to output
    output.addPage(page)

with open('newfile.pdf', 'wb') as f:
   output.write(f)

完成了。在

相关问题 更多 >

    热门问题