使用python编辑PDF中的文本

roo*_*kit 5 python data-analysis python-2.7 pypdf2

我有一个pdf文件,我需要编辑pdf中的一些文本/值。例如,在我具有“生日DD / MM / YYYY”的pdf中,始终为“ N / A”。我想将其更改为所需的任何值,然后将其另存为新文档。覆盖现有文档也可以。

到目前为止,我以前已经这样做:

import PyPDF2
pdf_obj = open('abc.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_obj)
page = pdf_reader.getPage(0)

writer = PyPDF2.PdfFileWriter()
writer.addPage(pdf_reader.getPage(0))
pdf_doc = writer.updatePageFormFieldValues(pdf_reader.getPage(0), {'BIRTHDAY DD/MM/YYYY': '123'})
outfp = open("new_abc1.pdf", 'wb')
writer.write(outfp)
outfp.close()
Run Code Online (Sandbox Code Playgroud)

但是,此updatePageFormFieldValues()不会更改所需的值,可能是因为这不是表单字段吗?

pdf屏幕截图,显示了要更改的值

有什么线索吗?

Mar*_*oma 0

我是 pypdf 和 PyPDF2 的当前维护者(请使用 pypdf;PyPDF2 已弃用)

目前无法使用 pypdf 更改文本。

更改表单内容则是另一回事。但是,我们在表单字段方面存在几个问题:https ://github.com/py-pdf/pypdf/labels/workflow-forms

update_page_form_field_values是正确使用的函数。