Извлечение данных PDF - Нужны предложения

Я создал инструмент для извлечения PDF. Образец экрана прилагается. введите здесь описание изображенияПользователь может загрузить PDF-файл и выбрать нужную ему область данных. Затем я беру координаты PDF и номер страницы, а затем сохраняю их как шаблон. После того, как пользователь предоставит список файлов PDF, инструмент сможет извлекать данные в соответствии с файлом шаблона. Мой инструмент очень похож на этот.

Теперь проблема в том, что иногда в некоторых pdf-файлах часть данных, необходимых для извлечения, перемещается на следующую страницу. (Причина смещения: я приведу пример. Если вы считаете, что в счете со списком товаров, которые вы приобрели, место печати «Общая стоимость» зависит от количество товаров, которые вы купили: если это длинный список, общая сумма идет внизу, в противном случае - в середине или почти вверху).

Поэтому сейчас я думаю о том, чтобы определить структуру pdf вместо получения координат.

Но у меня нет четкой идеи, как это сделать. Пожалуйста, поделитесь чем-нибудь, что, по вашему мнению, поможет решить эту проблему. Еще раз повторяю, что я пытаюсь получить данные из pdf. Таким образом, можно зафиксировать структуру файла pdf.

Моя идея заключается в том, что если я могу идентифицировать структуру, то я могу сказать, где находится ценность. Например, я попытался преобразовать pdf в html и попытаться перемещаться по значениям тега html. (body->div->table->td-> и т. д.) Но это не удалось.. :(


person yohan.jayarathna    schedule 17.03.2011    source источник


Ответы (3)


PDF имеет только слабые структуры, ничего похожего на div или контейнеры. Есть группы слоев и тому подобное, но координаты — это единственное, на что можно рассчитывать.

Попробуйте описать тип текста и полей слева и справа, чтобы сделать вашу страницу захвата независимой.

person p4553d    schedule 17.03.2011
comment
Спасибо за ответ. Что вы имеете в виду под этим Попробуйте описать тип текста и поля слева и справа, чтобы сделать вашу страницу захвата независимой. - person yohan.jayarathna; 17.03.2011
comment
Как этот dbai.tuwien.ac.at/staff/hassan /pdf2html/final.pdf Можно попробовать сделать вывод от координат к данным. Проблема в том, что PDF — это не длинный список контейнеров (например, обычный текст или HTML), а скорее описание потерянных страниц. В вашем примере информация об общей стоимости не перескакивает на другую страницу, потому что ей некуда, она была помещена PDF-писателем. - person p4553d; 17.03.2011

Формат файла PDF включает необязательный набор метатегов. Если они используются, файл будет иметь некоторую структуру. В противном случае вам не повезло. Я написал сообщение в блоге, в котором рассказал, как это узнать, по адресу http://www.jpedal.org/PDFblog/2010/09/the-easy-way-to-discover-if-a-pdf-файл-содержит-структурированное-содержимое/

person mark stephens    schedule 17.03.2011

Вы можете использовать некоторый «якорь», например «КОЛИЧЕСТВО ЗАКАЗА», а затем собирать данные относительно этого. Взгляните на www.ivytools.net — в этом инструменте вы можете определить правила, определяющие, как находить значения относительно к другому тексту в документе. В вашем примере это будет что-то вроде:

p.Find("ORDER QTY").Down()
person Vadim    schedule 08.10.2018