Имеется несколько десятков PDF-файлов, структура текста которых одинакова. Требуется извлечь текст и таблицы, сохранив структуру исходного документа для последующего размещения в БД.
Пробовали использовать конвертеры, какие встретились проблемы: таблицы не распознаются, заголовки имеют разные стили отдельных символов одного слова. В любом случае, с конвертерами вся эта работа производится вручную, что просто неприемлемо для большого числа документов большого объема. Хотелось бы хоть как-то автоматизировать этот процесс. Есть идеи?
K1llMan <95731@users.rsdn.ru> писал(а) в своём письме Thu, 03 Feb 2011
18:19:08 +0300:
> Имеется несколько десятков PDF-файлов, структура текста которых > одинакова. Требуется извлечь текст и таблицы, сохранив структуру > исходного документа для последующего размещения в БД.
Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный
текст. Нормально извлечь из него структуру документа не выйдет. Только
распознавать...
Здравствуйте, K1llMan, Вы писали:
KM>Имеется несколько десятков PDF-файлов, структура текста которых одинакова. Требуется извлечь текст и таблицы, сохранив структуру исходного документа для последующего размещения в БД.
KM>Пробовали использовать конвертеры, какие встретились проблемы: таблицы не распознаются, заголовки имеют разные стили отдельных символов одного слова. В любом случае, с конвертерами вся эта работа производится вручную, что просто неприемлемо для большого числа документов большого объема. Хотелось бы хоть как-то автоматизировать этот процесс. Есть идеи?
Идея состоит в том, чтобы пойти к тому человеку, который сгенерировал эти PDF, и дать ему по башке. После этого заставить его выдать исходные документы, из которых они были сгенерированы, и дальше действовать в зависимости от их форматов.
Процедуру повторять до тех пор, пока человек не уяснит, что рядом с каждой PDF’кой должен быть её эквивалент в человеческом формате.
Здравствуйте, garant, Вы писали:
G>Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный G>текст. Нормально извлечь из него структуру документа не выйдет. Только G>распознавать...
Вообще-то PDF предусматривает наличие неотображаемого текстового слоя, чтобы можно было искать текст по документу, копировать в буфер и т.д. Другое дело, что этот слой необязательный.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Здравствуйте, ДимДимыч, Вы писали:
ДД>Здравствуйте, garant, Вы писали:
G>>Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный G>>текст. Нормально извлечь из него структуру документа не выйдет. Только G>>распознавать...
ДД>Вообще-то PDF предусматривает наличие неотображаемого текстового слоя, чтобы можно было искать текст по документу, копировать в буфер и т.д. Другое дело, что этот слой необязательный.
Есть-то он почти всегда, но что в нем, сильно зависит от того, чем этот pdf генерировался. В этом текстовом слое часто отсутствуют пробелы, например, или вообще порядок слов не слева направо, а сверху вниз.
Здравствуйте, garant, Вы писали: G>Только каким-нибудь ABBYY PDF Reader. Потому как PDF — это напечатанный G>текст. Нормально извлечь из него структуру документа не выйдет. Только G>распознавать...
Вообще-то PDF это текстовый формат. Не так давно приходилось очень поверхностно изучать спецификацию по нему. Просто довольно часто текст в нем хранится как картинка, но это далеко не всегда так. Все зависит от того, как этот документ был создан\сконвертирован и т.д.
Здравствуйте, K1llMan, Вы писали:
KM>Имеется несколько десятков PDF-файлов, структура текста которых одинакова. Требуется извлечь текст и таблицы, сохранив структуру исходного документа для последующего размещения в БД.
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.
Была такая же проблема. После всяких попыток вытащить информацию, пришел к следующему решению — использую команду "pdftotext -layout", которая генерирует по моих pdf текстовие файлы с более-мениее вменяемой структурой таблиц. Ну а далее разбираю регеспами текст.