Perl PDF построчный Parser? - PullRequest
       26

Perl PDF построчный Parser?

2 голосов
/ 16 февраля 2011

У меня есть PDF, состоит только из текста, без специальных символов, изображений и т. Д. Есть ли какой-нибудь модуль Perl (я смотрю на cpan безрезультатно), чтобы помочь мне анализировать каждую страницу построчно?(Преобразование PDF в текст дает плохие результаты и непонятные данные)

Спасибо,

1 Ответ

6 голосов
/ 17 февраля 2011

Когда я хочу извлечь текст из PDF-файла, я подаю его на pdftohtml (часть Poppler ), используя параметр вывода -xml. Это создает XML-файл, который я анализирую, используя XML :: Twig (или любой другой анализатор XML, который вам нравится, кроме XML :: Simple).

Формат XML довольно прост. Вы получаете элемент <page> для каждой страницы в PDF, который содержит элементы <fontspec>, описывающие используемые шрифты, и элемент <text> для каждой строки текста. Элементы <text> могут содержать теги <b> и <i> для текста, выделенного жирным шрифтом и курсивом (поэтому XML :: Simple не может его правильно проанализировать).

Вам необходимо использовать атрибуты top и left тегов <text>, чтобы получить их в правильном порядке, поскольку они не обязательно выводятся в порядке сверху вниз. Система координат имеет 0,0 в верхнем левом углу страницы с положительным направлением вниз и вправо. Размеры указаны в точках PostScript (72 точки на дюйм).

...