我有一份PDF文件,但我必须把自己的图像放在上面。这是一份官方文件,我必须将带有“示例”文字的图像应用到整个页面。
有没有办法在python中解决这个问题?
(文件中的文字是曲线)
答案 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)
的脚本中调用。