Как распарсить PDF?
От: K1llMan  
Дата: 03.02.11 15:19
Оценка:
Имеется несколько десятков PDF-файлов, структура текста которых одинакова. Требуется извлечь текст и таблицы, сохранив структуру исходного документа для последующего размещения в БД.

Пробовали использовать конвертеры, какие встретились проблемы: таблицы не распознаются, заголовки имеют разные стили отдельных символов одного слова. В любом случае, с конвертерами вся эта работа производится вручную, что просто неприемлемо для большого числа документов большого объема. Хотелось бы хоть как-то автоматизировать этот процесс. Есть идеи?
pdf конвертеры парсинг
Re: Как распарсить PDF?
От: garant  
Дата: 04.02.11 15:17
Оценка: -1
K1llMan <95731@users.rsdn.ru> писал(а) в своём письме Thu, 03 Feb 2011
18:19:08 +0300:

> Имеется несколько десятков PDF-файлов, структура текста которых

> одинакова. Требуется извлечь текст и таблицы, сохранив структуру
> исходного документа для последующего размещения в БД.

Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный
текст. Нормально извлечь из него структуру документа не выйдет. Только
распознавать...
Posted via RSDN NNTP Server 2.1 beta
Re: Как распарсить PDF?
От: Centaur Россия  
Дата: 04.02.11 19:58
Оценка: 3 (1)
Здравствуйте, K1llMan, Вы писали:

KM>Имеется несколько десятков PDF-файлов, структура текста которых одинакова. Требуется извлечь текст и таблицы, сохранив структуру исходного документа для последующего размещения в БД.


KM>Пробовали использовать конвертеры, какие встретились проблемы: таблицы не распознаются, заголовки имеют разные стили отдельных символов одного слова. В любом случае, с конвертерами вся эта работа производится вручную, что просто неприемлемо для большого числа документов большого объема. Хотелось бы хоть как-то автоматизировать этот процесс. Есть идеи?


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

Процедуру повторять до тех пор, пока человек не уяснит, что рядом с каждой PDF’кой должен быть её эквивалент в человеческом формате.
Re[2]: Как распарсить PDF?
От: ДимДимыч Украина http://klug.org.ua
Дата: 05.02.11 12:32
Оценка:
Здравствуйте, garant, Вы писали:

G>Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный

G>текст. Нормально извлечь из него структуру документа не выйдет. Только
G>распознавать...

Вообще-то PDF предусматривает наличие неотображаемого текстового слоя, чтобы можно было искать текст по документу, копировать в буфер и т.д. Другое дело, что этот слой необязательный.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[3]: Как распарсить PDF?
От: Fwiffo Россия  
Дата: 05.02.11 13:14
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, garant, Вы писали:


G>>Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный

G>>текст. Нормально извлечь из него структуру документа не выйдет. Только
G>>распознавать...

ДД>Вообще-то PDF предусматривает наличие неотображаемого текстового слоя, чтобы можно было искать текст по документу, копировать в буфер и т.д. Другое дело, что этот слой необязательный.


Есть-то он почти всегда, но что в нем, сильно зависит от того, чем этот pdf генерировался. В этом текстовом слое часто отсутствуют пробелы, например, или вообще порядок слов не слева направо, а сверху вниз.
Re[2]: Как распарсить PDF?
От: ak_miass Россия  
Дата: 05.02.11 21:27
Оценка:
Здравствуйте, garant, Вы писали:
G>Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный
G>текст. Нормально извлечь из него структуру документа не выйдет. Только
G>распознавать...
Вообще-то PDF это текстовый формат. Не так давно приходилось очень поверхностно изучать спецификацию по нему. Просто довольно часто текст в нем хранится как картинка, но это далеко не всегда так. Все зависит от того, как этот документ был создан\сконвертирован и т.д.
Re: Как распарсить PDF?
От: мыщъх США http://nezumi-lab.org
Дата: 05.02.11 22:42
Оценка:
Здравствуйте, K1llMan, Вы писали:

KM>Имеется несколько десятков PDF-файлов, структура текста которых одинакова. Требуется извлечь текст и таблицы, сохранив структуру исходного документа для последующего размещения в БД.


парсеров pdf очень много. вот из того, с чем довелось работать: http://www.java2s.com/Open-Source/Java-Document/PDF/PDF-Renderer/com.sun.pdfview.htm


KM>Пробовали использовать конвертеры, какие встретились проблемы: таблицы не распознаются, заголовки имеют разные стили отдельных символов одного слова. В любом случае, с конвертерами вся эта работа производится вручную, что просто неприемлемо для большого числа документов большого объема. Хотелось бы хоть как-то автоматизировать этот процесс. Есть идеи?


зависит от... у меня в норе работает наколенный парсер, собранный из оригинального акробата (слегка отпаченного, захаченного и захученного). когда требуется "вытянуть" инфу из зашифрованного pdf, который обламывает 3rd party парсеры -- захаченный акробат очень выручает. но такой способ не совсем легален с точки зрения закона и потому использоваться в бизнесе может только с оговорками.

более элегантный вариат (но по хорошему уже требующий acrobat pro, а не ридера). создаем пустой документ с javascript, который через api (описанное в спекках) вытягивает всю инфу и дальше делает с ней что угодно.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: Как распарсить PDF?
От: bykka Украина  
Дата: 11.02.11 15:25
Оценка:
Привет!

Была такая же проблема. После всяких попыток вытащить информацию, пришел к следующему решению — использую команду "pdftotext -layout", которая генерирует по моих pdf текстовие файлы с более-мениее вменяемой структурой таблиц. Ну а далее разбираю регеспами текст.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.