给两个 pdf 加水印 - 第一页的每一页和第二页的每一页 [英] Watermark two pdfs - Each page of the first with each page of the second

查看:61
本文介绍了给两个 pdf 加水印 - 第一页的每一页和第二页的每一页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have two pdf files of the same length, let's say pdf1.pdf and pdf2.pdf. I'm trying to watermark each page of pdf1.pdf with pdf2.pdf (i.e., page 1 of pdf1.pdf with page 1 of pdf2.pdf, page 2 of pdf1.pdf with page 2 of pdf2.pdf ...).

但是,我真的很纠结如何循环它们(我是编程新手).

However, I'm really struggling with how to loop them around (I'm new to programming).

例如,我试过这个:

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)

任何帮助将不胜感激:) :)

Any help would be appreciated :) :)

推荐答案

您使用了太多循环,页数相同,因此您在页数上循环一次,获取水印,获取页面,将两者结合并将它们添加到输出:

You use too many loops, page counts are identical so you loop once over the pagecount, get the watermark, get the page, combine both and add them to the output:

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)

完成.

这篇关于给两个 pdf 加水印 - 第一页的每一页和第二页的每一页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆