【发布时间】:2019-07-14 19:56:02
【问题描述】:
如何从this PDF file 获取字段?它是由 Adobe LiveCycle Designer 创建的动态 PDF。如果您在网络浏览器中打开链接,您可能会看到一个以“请稍候...”开头的页面。如果您下载文件并通过 Adobe Reader(5.0 或更高版本)打开它,您应该会看到全部 8 个页面。
因此,当通过PyPDF2 阅读时,您会得到一个空字典,因为它将文件呈现为单个页面,就像您通过网络浏览器看到的那样。
def print_fields(path):
from PyPDF2 import PdfFileReader
reader = PdfFileReader(str(path))
fields = reader.getFields()
print(fields)
您可以使用 Java 依赖库 tika 来读取所有 8 个页面的内容。但是结果很混乱,我正在避免 Java 依赖。
def read_via_tika(path):
from tika import parser
raw = parser.from_file(str(path))
content = raw['content']
print(content)
所以,基本上,我可以在 Adobe Actobat DC 中手动 Edit -> Form Options -> Export Data… 来获得一个不错的 XML。同样,我需要通过 Python 获取漂亮的表单字段及其值。
【问题讨论】:
-
或者,如果问题中的那个过期了,请使用这个link。