Чи є кращий PDF в текстовий конвертер, ніж pdftotext?


63

Я використовую pdftotext (частина poppler-утилітів) для перетворення документів PDF у текст. Це працює, здебільшого, але я хотів би, щоб це було - вставити порожні рядки між окремими абзацами, а не збивати їх разом.

Чи є спосіб отримати pdftotext для цього? А якщо ні, чи є ще одна утиліта у форматі PDF, яка може це зробити?


8
У заголовку ви говорите "pdftotext" (який входить до програми poppler-utils), а в тілі ви говорите "pdt2text" (чого я не знаю). На кого ви звертаєтесь?
enzotib

подібне запитання 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
Існує також -таблиця для макетів столів спеціально, чудово працює.
P.Windridge

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

2
@gozzilli Це так давно . Найновіший pdftotext - версія v4.00, доступний у програмі Xpdf tarball тут .
Адріан

2
@gozzilli Версії, що починаються з 0. вказують, що це гілка Popplers оригінального коду Xpdf. Вони почали свої номери версій, коли розгалужували код. Зараз обидві групи підтримують окремі версії цих інструментів PDF.
Ендрю

1
@VivekSable - це точки (пікселі) за вказаною -r(роздільна здатність, за замовчуванням 72 dpi)
vstepaniuk

14

Як шанувальник відкритого коду (та автоматизації) я ненавиджу це говорити, але найкращі результати, які я щойно отримав (на досить великому, складному PDF), були відкрити його в Adobe Reader, а потім вибрати File | Save As Text.

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

Я порівнював вихідний бік. Мій другий вибір - перетворення електронних книг.

Adobe : ліворуч у FF для розривів сторінок, ліворуч у номерах сторінок, не перетворив заголовки / абзаци в єдині рядки, але має фіксовані дефіси. Небажана, що була захована в PDF-файлі, не вийшла. Правильно отримали великі столиці на початку розділів, наприклад, "The", а не "T he" або навіть "T he".

Перетворення електронних книг : залишені номери сторінок, а також деякі приховані сміття в заголовку / нижньому колонтитулі (але не FF). Перетворює більшість абзаців у одиночні рядки. Ті, що його пропустили, хоч і подвійні між собою! Кулі не завжди вирівнюються з текстом. Правильно отримано "The" на початку розділу.

pdftotext (без - планування) : непогано, кулі вишикуються, але шум заголовка / колонтитула. FF є там. Дефіси видалено. Найгірше для початку великими літерами глави: "T \ n \ nhe".

pdftotext (з --layout) : подібні, але більше відступів. "T he" для початку розділу.

pdftohtml >> pdfreflow >> htmltotext : Вилучені номери сторінок, але все ще залишаються у верхньому / нижньому колонтитулі. "T he" для початку розділу. Дефіси видалено. (Він використовує кілька рядків на абзац, але вони не є такими ж розривами рядків, як в інших версіях!)


Зчитувач Acrobat 9 на Linux генерував нарізані слова в моєму випадку. ebook-convertдобре працював.
ov7a

Нам дійсно потрібен додаток AI для цього, це здається ідеальним для такого роду завдань: хтось знає його?
JinSnow

1
Adobe Reader безкоштовний, але ... лише для читання PDF-файлів. За інші речі вам потрібно заплатити (щомісячна підписка). (Pdf до тексту обмежено кількома сторінками). Текст у форматі PDF (або xpdf на виграш) ідеально підходить для моїх потреб.
JinSnow

Для табличних даних тепер найкраще використовувати перемикач -table "pdftotext -table file_name.pdf output_name.txt"
Thom Ives

5

Якщо у вас є обліковий запис Google, ви можете скористатися Документами Google для завантаження PDF та перетворення його в текст, який можна редагувати.


1

Я також спробував pypdf і порівняв його з pdftotext у двох документах. У ньому було більше перерв рядків і розділено деякі назви розділів (СПОСОБИ були ПОСИЛАННЯ).

pdf2txt видав повне сміття.

Я часто використовую pdfBox (Java), якщо pdftotext вкручує вихід. Ви можете спробувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.