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

Nip*_*ips 2 python pdf

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

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

(文件中的文字是曲线)

Qui*_*int 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)
Run Code Online (Sandbox Code Playgroud)

  • 截至今天,[最后一个版本是 PyPDF4](https://github.com/claird/PyPDF4/wiki/Why-PyPDF4%3F--Why-not-just-stick-with-PyPDF2%3F)。 (3认同)

And*_*uss 6

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

page = PdfFileReader(file("document.pdf", "rb")).getPage(0)
overlay = PdfFileReader(file("overlay.pdf", "rb")).getPage(0)
page.mergePage(overlay)
Run Code Online (Sandbox Code Playgroud)

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