Как получить поля из этого PDF-файла ?Это динамический PDF-файл, созданный Adobe LiveCycle Designer.Если вы откроете ссылку в веб-браузере, вы, вероятно, увидите одну страницу, начинающуюся с «Пожалуйста, подождите ...». Если вы загрузите файл и откроете его через 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)
Так что, в принципе, я могу вручную Edit -> Form Options -> Export Data…
в Adobe Actobat DC, чтобы получить хороший XML.Точно так же мне нужно получить красивые поля формы и их значения через Python.