我有一个PDF文档,但我必须在上面放置自己的图片。这是一份官方文件,我必须将一个带有文本“example”的图像应用到整个页面上。
是否有办法在Python中解决这个问题?
(文档中的文本是曲线)
是否有办法在Python中解决这个问题?
(文档中的文本是曲线)
import pypdf
# overlay.pdf contains the image
with open("original.pdf", "rb") as inFile, open("overlay.pdf", "rb") as overlay:
original = pypdf.PdfReader(inFile)
background = original.pages[0]
foreground = pypdf.PdfReader(overlay).pages[0]
# merge the first two pages
background.merge_page(foreground)
# add all pages to a writer
writer = pypdf.PdfWriter()
for page in original.pages:
writer.add_page(page)
# write everything in the writer to a file
with open("modified.pdf", "wb") as outFile:
writer.write(outFile)
pypdf
。我已经弃用了PyPDF2,转而支持pypdf。PyPDF3和PyPDF4远远落后,并且在过去几年中没有任何开发。 - Martin Thoma可以看一下 pypdf。你可以使用以下代码来应用一个覆盖层:
page = PdfReader("document.pdf").pages[0]
overlay = PdfReader("overlay.pdf").pages[0]
page.merge_page(overlay)
overlay.pdf
中。
个人而言,我更喜欢 PDFTK,虽然它不是严格的 Python,但可以通过 os.system(command)
从脚本中调用。