💾 Archived View for tilde.team › ~rami › pdf_odt_converters.gmi captured on 2024-12-17 at 11:35:35. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

~Rami ₪ MANUALS

רמי

SUBJECT: MC, PDFTOTEXT, ODT2TXT: Просмотр и конвертирование PDF/ODT => TXT в консоли

AUTHOR: Rami Rosenfeld

DATE: 27/11/24

TIME: 01.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, converter, text, pdf, odt

MC, PDFTOTEXT, ODT2TXT: Просмотр и конвертирование PDF/ODT => TXT в консоли

INTRO

"Чистая" консоль GNU/Linux не в состоянии напрямую отображать текстовое содержимое двух видов файлов электронных документов - .pdf и .odt. Ниже будут рассмотрены способы их конвертирования в терминале.

Примечание: В качестве тестовых файлов я взял два варианта (.pdf и .odt) собственной книги; в первую очередь - из-за ее объема (815 с. формата А4; кегль 14 пт., одинарный интерлиньяж); во-вторую - из-за уверенности, что оба файла созданы правильно и не содержат никаких скрытых подвохов. В примерах ниже они обозначены как 1.pdf и 2.odt.

MIDNIGHT COMMANDER: PDF

Самый простой, невероятно быстрый и малоизвестный способ. Оказывается, старый добрый MC способен практически мгновенно и корректно открыть для просмотра в консоли pdf-файл: достаточно выделить его и нажать на стандартную кнопку F3.

Окно MC: просмотр PDF

PDFTOTEXT

Как правило, специально инсталлировать эту утилиту не надо, т.к. она по умолчанию входит в распространенный пакет poppler-utils:

dnf install pdftotext

poppler-utils-...x86_64" is already installed

pdftotext 1.pdf - | less

Примечание: Это самый простой, но "грязный" способ.

pdftotext -layout -nopgbrk 1.pdf - | less

Примечания:

-layout - форматирование (абзацные отступы, выключка текста) будет имитировано с помощью пробелов;

-nopgbrk - будут исключены спецмаркеры начала новых страниц.

pdftotext -layout -nopgbrk 1.pdf > 1.txt

ВАЖНО: Формат PDF весьма сложен, он может включать в себя формы ввода данных, графику и даже скрипты. Поэтому положительный результат может быть гарантирован, если исходный файл: 1) не содержит в себе всё вышеперечисленное; 2) имеет отдельный текстовый "слой" (мне встречались в практике особо прискорбные случаи, когда сканированный текст сохранялся в PDF напрямую - как PNG/JPG, то есть без распознавания с помощью OCR).

Данная утилита неплохо конвертирует простые таблицы; см. илл.:

Верхнее окно - исходная таблица LibreOffice; нижнее - результат конвертирования в TXT

ODT2TXT

Утилита ODT2TXT крайне мала; ее размер составляет всего 28 кб:

dnf install odt2txt

odt2txt --width=-1 2.odt --output=2.txt

Примечание 1: Опция --width=-1 наиболее корректно обработает исходные текстовые строки внутри абзаца и будет сохранять их полностью, без разрывов, т.е. без принудительного деления на N-символов (последнее удобно для просмотра в терминалах). Впрочем, консольные текстовые редакторы Micro и Nano позволяют правильно отображать длинные строки - с их переносом (но это поведение настраивается отдельно).

Примечание 2: Просмотреть текст в консоли с помощью команды less не удастся; зато конечный файл получается очень чистым.

Примечание 3: ODT2TXT некорректно конвертирует таблицы.

Онлайн-конвертер

Существует также онлайн-конвертер с расширенными возможностями:

PDF to (...)

PDF to TXT

PDF to DOC

DOC to PDF

PDF to JPG

JPG to PDF

PDF to PNG

PNG to PDF

PDF Compressor

Combine PDF

Crop PDF

Дополнительно см.: man pdftotext, man odt2txt

Poppler

ODT2TXT

₪ Back to home ₪

🄯 Rami Rosenfeld, 2024. GNU FDL 1.3.