Есть ли лучший конвертер PDF в текст, чем pdftotext?


63

Я использую pdftotext (часть poppler-utils), чтобы конвертировать PDF документы в текст. По большей части это работает, но я хотел бы, чтобы между пустыми абзацами вставлялись пустые строки, а не смешивались.

Есть ли способ получить pdftotext для этого? А если нет, есть ли еще одна утилита pdf to text, которая может это сделать?


8
В заголовке вы говорите «pdftotext» (который является частью утилиты poppler), а в теле вы говорите «pdt2text» (который я не знаю). Который вы имеете в виду?
энзотиб

Похожий вопрос PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/…
JinSnow

Ответы:


25

Вы можете попробовать ebook-convertот Калибра.

Во всяком случае, я бы сказал, что ошибки в другом направлении: слишком много разрывов строк.

Еще одна вещь, которую я определенно рассмотрю, это преобразование в HTML с использованием pdfreflow , а затем преобразование HTML в TXT.


Примечание: ebook-convertне может конвертировать многостолбцовый макет, он объединяет столбцы в один столбец. Для многостолбцовой разметки pdftotextвыдает гораздо лучший результат. Дополнительные ограничения описаны в manual.calibre-ebook.com/conversion.html#convert-pdf-documents .
Asmaier

117

Если вы используете pdftotext, вы можете использовать -layoutфлаг, чтобы сохранить расположение текста на страницах вашего входного pdf-файла:

pdftotext -layout input.pdf output.txt

6
Существует также - таблица для таблиц, особенно, прекрасно работает.
П.Уиндридж

3
@ P.Windridge, где эта опция стола? Я не могу найти его в версии 0.48.0 из poppler-utils в Ubuntu 17.04
gozzilli

2
@gozzilli Это путь старое. Последний pdftotext v4.00 доступен в архиве инструментов Xpdf здесь .
Адриан

2
@gozzilli Версии, начинающиеся с 0., указывают на то, что это ветвь Popplers исходного кода Xpdf. Они начали свои номера версий заново, когда они разветвили код. Теперь обе группы поддерживают отдельные версии этих инструментов PDF.
Андрей

1
@VivekSable это точки (пиксели) при указанном -r(разрешении, по умолчанию 72 dpi)
vstepaniuk

14

Как фанат открытого исходного кода (и автоматизации) я не хочу говорить это, но лучшие результаты, которые я только что получил (на довольно большом, сложном PDF), - это открыть его в Adobe Reader, а затем выбрать «Файл | Сохранить как текст».

(Я готовлюсь к экспериментам по анализу текста, а не как к читателю, но я думаю, что мой первый и второй выбор будут одинаковыми.)

Я сравнивал выходные данные бок о бок. Мой второй выбор - ebook-convert.

Adobe : оставлено в FF для разрыва страниц, оставлено в номерах страниц, не преобразует заголовки / абзацы в отдельные строки, но имеет фиксированные дефисы. Спам, который был спрятан в PDF, не получил вывод. Правильно получил большие заглавные буквы в начале секций, например «The», а не «T он» или даже «T он».

ebook-convert : оставлено в номерах страниц и скрытый мусор в верхнем / нижнем колонтитуле (но без FF). Преобразует большинство абзацев в одну строку. Те, которые он пропустил, имеют двойной интервал! Пули не всегда совпадают с текстом. Правильно получил «The» в начале главы.

pdftotext (без --layout) : неплохо, пули выстраиваются, но шум верхнего / нижнего колонтитула. ФФ там. Дефисы удалены. Худшие для начала главы большие буквы: "T \ n \ nhe".

pdftotext (с --layout) : похожие, но больше отступов. «Т он» для начала главы.

pdftohtml >> pdfreflow >> htmltotext : он удаляет номера страниц, но все еще остается ненужным в верхнем / нижнем колонтитуле. «Т он» для начала главы. Дефисы удалены. (Он использует несколько строк в абзаце, но они не такие же разрывы строк, как в других версиях!)


Acrobat Reader 9 на Linux генерирует сжатые слова в моем случае. ebook-convertработал нормально.
ov7a

Для этого нам действительно нужно приложение для искусственного интеллекта, оно идеально подходит для такого рода задач: кто-нибудь знает его?
JinSnow

1
Adobe Reader является бесплатным, но ... только для чтения PDF. За другие вещи нужно платить (ежемесячная подписка). (PDF к тексту ограничен несколькими страницами). Pdfto text (или xpdf на win) идеально подходит для моих нужд.
JinSnow

Для табличных данных теперь лучше использовать ключ -table "pdftotext -table file_name.pdf output_name.txt"
Том Айвс

5

Если у вас есть учетная запись Google, вы можете использовать Документы Google для загрузки PDF и преобразования его в редактируемый текст.


1

Я также попробовал pypdf и сравнил его с pdftotext в двух документах. У него было больше разрывов строк и разделены некоторые названия разделов (ССЫЛКИ были ССЫЛКИ).

pdf2txt вывел полный мусор.

Я часто использую pdfBox (java), если pdftotext испортит вывод. Вы можете попробовать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.