У меня есть заполняемый PDF, и я заполнил некоторые поля и сохранил его.
Я могу добавить изображение в PDF, используя pdfrw и ReportLab; однако при сохранении PDF-данных данные, введенные в поля для заполнения, исчезли.
Может ли кто-нибудь указать мне правильное направление, чтобы я мог добавить изображение в PDF при сохранении заполненных полей?
Вот воспроизводимый код:
An пример 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. Как видите, изображение есть, но поля все пустые.
![Here is the output PDF](https://i.stack.imgur.com/r9X0m.png)
Я могу убедиться, что данные из полей присутствуют, когда Первоначально PDF читается путем проверки структуры PDF с помощью:
for p in page:
for a in p['/Annots']:
print(a['/V'])
. Это распечатывает кучу данных (со странными символами), но я действительно могу видеть данные, которые были введены в форму (например, "trade_name"
)