Прочитайте поля формы в PDF, созданном Adobe LiveCycle Designer - PullRequest
0 голосов
/ 21 февраля 2019

Как получить поля из этого 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.

1 Ответ

0 голосов
/ 22 февраля 2019

Благодаря этому удивительному ответу мне удалось получить поля, используя pdfminer.six.

. Перейдите по Каталогу> AcroForm> XFA, затем pdfminer.pdftypes.resolve1 объект сразу после * 1007.* элемент в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...