2013-07-11 2 views
2

Я пытаюсь извлечь таблицу из PDF documentИзвлечение таблицы из PDF

Я попробовал маршрут PDF -> HTML -> таблицы экстракта. PDF, который я упомянул выше при преобразовании в html, создает мусор, возможно, из-за шрифта, документ не на английском языке.

Извлечение pdf с использованием координаты x и y не является вариантом, так как это решение должно работать для будущего PDF из упомянутого выше указателя, который будет иметь таблицу, но не всегда в том же положении.

Помогите,

Заранее спасибо.

+1

PDF не содержит явных данных таблицы. Он содержит только строки и символьные символы, которые мы склонны интерпретировать как таблицы. Таким образом, ваша задача заключается в том, чтобы внедрить наши возможности распознавания таблиц в Google, что является довольно сложной задачей. – mkl

+0

@mkl так короче, если это не проблема или смерть, мне лучше не думать о разборе этого pdf? :) – meadhikari

+1

Я сделал что-то подобное, используя [PDFMiner] (https://pypi.python.org/pypi/pdfminer/). Вы можете в принципе получить поток всех объектов вместе со своими позициями x и y, а затем группировать их сверху вниз, слева направо (для английского как минимум), а затем сделать некоторые интеллектуальные догадки о том, где ячейки заканчиваются на основе ваше знание контекста. Это больно, и каждый PDF отличается. Если вам не нужно разбирать его, не делайте этого. Как часто это публикуется? – ChrisP

ответ

5

PDF не содержит явных данных таблицы. Он содержит только строки и символьные символы, которые мы склонны интерпретировать как таблицы. Таким образом, ваша задача заключается в том, чтобы внедрить наши возможности распознавания таблиц в Google, что является довольно сложной задачей.

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

У вашего конкретного документа есть дополнительный недостаток: Он не содержит необходимой информации для прямого извлечения текста! Вы можете попробовать скопировать & вставки из Adobe Reader, и вы получите (по крайней мере, я) полуслучайные символы из диапазона WinAnsi.

Это связано с тем, что все шрифты в документе утверждают, что они используют WinAnsiEncoding, даже несмотря на то, что символы, на которые он ссылается, окончательно не связаны с выбором символа WinAnsi.

Таким образом, надежное извлечение текста из вашего документа без OCR невозможно в конце концов!

(Пытающая копия & Вставка из Adobe Reader обычно является хорошей первой проверкой, возможно ли извлечение текста вообще, методы извлечения текста Reader были разработаны много лет и, следовательно, стали довольно хорошими. вы не можете ничего толкового с Acrobat Reader извлечения, извлечение текста будет очень трудной задачей, действительно)

+0

Можете ли вы указать мне какое-то направление, если я хочу пройти маршрут OCR? – meadhikari

+1

К сожалению, нет, мне еще не приходилось прибегать к OCR. – mkl

+0

Я тоже пытаюсь справиться с этим. Интересная вещь, с которой я столкнулся: я разбираю PDF, который явно выглядит так, как будто он был создан из html/word document to pdf. Когда я экспортирую его из документа Acrobat Pro в Word, форматирование таблицы на 100% правильное в выходном файле '' .docx''. Мой вопрос в том, что если форматирования там нет, как Acrobat делает прекрасное извлечение таблицы? – amergin

1

вы можете использовать Tabula:. http://tabula.nerdpower.org это бесплатно и своего рода простой в использовании

+0

Вы пробовали [Tabula] (http://source.opennews.org/en-US/articles/introduction-tabula /) по [документу] (http://www.nea.org.np/images/supportive_docs/55082070-3-19.pdf), предоставленному OP? Как я уже упоминал в своем ответе, документ не содержит требуемую информацию для прямого извлечения текста *, то есть извлечение текста с использованием информации, закодированной в синтаксисе PDF, а Tabula полагается на PDFBox для извлечения текста, который использует только такую ​​информацию. Таким образом, я сомневаюсь, что Табула сейчас поможет. – mkl

+0

После вашего комментария я использовал tabula для извлечения первой информации таблицы как csv. Кажется, что он работает, хотя текст изменен (из-за того, что я думаю). Тем не менее, я не думаю, что у меня есть технические знания, чтобы дать более продвинутый ответ. – panchtox

+1

Ну, текст, скорее всего, изменен, потому что документ пропускает информацию для прямого извлечения текста, и предположения, сделанные вместо этих данных, скорее всего, являются ложными. – mkl

Смежные вопросы