如何在Python中将图像添加到PDF文件?

时间:2012-11-07 19:03:34

标签: python pdf

我有一份PDF文件,但我必须把自己的图像放在上面。这是一份官方文件,我必须将带有“示例”文字的图像应用到整个页面。

有没有办法在python中解决这个问题?

(文件中的文字是曲线)

2 个答案:

答案 0 :(得分:7)

如果您来自Google,则PyPDF已被PyPDF2取代。语法有所改变。

import PyPDF2 as pypdf

with open("original.pdf", "rb") as inFile, open("overlay.pdf", "rb") as overlay:
    original = pypdf.PdfFileReader(inFile)
    background = original.getPage(0)
    foreground = pypdf.PdfFileReader(overlay).getPage(0)

    # merge the first two pages
    background.mergePage(foreground)

    # add all pages to a writer
    writer = pypdf.PdfFileWriter()
    for i in range(original.getNumPages()):
        page = original.getPage(i)
        writer.addPage(page)

    # write everything in the writer to a file
    with open("modified.pdf", "wb") as outFile:
        writer.write(outFile)

答案 1 :(得分:5)

查看PyPDF。您可以使用类似以下代码的内容来应用叠加层:

page = PdfFileReader(file("document.pdf", "rb")).getPage(0)
overlay = PdfFileReader(file("overlay.pdf", "rb")).getPage(0)
page.mergePage(overlay)

将您想要的任何叠加层,包括"示例",放入overlay.pdf。 就个人而言,我更喜欢PDFTK,虽然不是严格的Python,但可以从os.system(command)的脚本中调用。