Вопрос

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

Теперь проблема иногда в некоторых формах PDF. Часть данных, необходимые для извлечения, перемещается на следующую страницу. (Причина сдвига состоит в том, что я дам пример. Анкет Если вы думаете, что купил счет, которые вы приобрели, Место "общей стоимости" напечатано зависит от количества купленных вами предметов: если это длинный список, иначе, в противном случае, в середине или близости).

Поэтому теперь я думаю о Определите структуру PDF вместо получения координат.

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Вы можете использовать какой -то «якорь», например, «заказ Qty», а затем собирать данные относительно этого. Взгляни на www.ivytools.net - В этом инструменте вы можете определить правила, в которых указываются, как найти значения относительно другого текста в документе. В вашем примере это было бы что -то вроде:

p.Find("ORDER QTY").Down()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top