2

我有一个可填写的 PDF,我已经填写了一些字段并保存了它。

我可以使用 pdfrw 和 ReportLab 将图像添加到 PDF;但是,当保存 PDF 时,输入到可填写字段中的数据已经消失。

谁能指出我正确的方向,以便我可以在保持填充字段的同时将图像添加到 PDF 中?

这是可重现的代码:

示例 PDF 在这里

from PIL import Image
from reportlab.pdfgen.canvas import Canvas
from pdfrw import PdfReader
from pdfrw.buildxobj import pagexobj
from pdfrw.toreportlab import makerl

inpfn = 'input.pdf'
outfn = 'output.pdf'

pages = PdfReader(inpfn).pages
page=pagexobj(pages[0])
canvas = Canvas(outfn)

canvas.doForm(makerl(canvas, page))
im = Image.open("photo.jpg")
canvas.drawInlineImage(im, 20, 175, width=100, height=60)
canvas.save()

这是输出PDF。如您所见,图像在那里,但字段都是空的。

这是输出PDF

我可以通过检查 PDF 的结构来验证最初读取 PDF 时字段中的数据是否存在:

for p in page:
   for a in p['/Annots']:
     print(a['/V'])

这会打印出一堆数据(带有奇怪的字符),但我确实可以看到输入表单的数据(例如,"trade_name"

4

0 回答 0