Гид по технологиям

Как конвертировать PDF в редактируемый текст через командную строку в Linux

• 5 min read • Linux • Обновлено 25 Nov 2025
Конвертация PDF в текст в Linux
Конвертация PDF в текст в Linux

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

Как конвертировать PDF-файл в редактируемый текст через командную строку в Linux

Зачем конвертировать PDF в текст? Причины разные: нужно править старый документ, извлечь содержимое для поиска, импортировать в систему управления версиями или подготовить текст для автоматической обработки. В Linux для этого удобно использовать утилиту pdftotext, которая входит в пакет poppler-utils.

В этой статье вы найдёте: базовые команды, флаги, рекомендации по сохранению макета, работу с защищёнными PDF, способы, когда pdftotext не подходит, и краткую шпаргалку с командами.

Проверка и установка poppler-utils

Откройте терминал (обычно «Ctrl+Alt+T») и проверьте, установлен ли пакет:

dpkg -s poppler-utils

Проверка установки пакета poppler-utils в терминале

Если пакет не установлен, установите его через apt:

sudo apt-get update
sudo apt-get install poppler-utils

Введите пароль, когда система запросит, и нажмите Enter. Пакет poppler-utils содержит несколько утилит для работы с PDF: помимо pdftotext там есть инструменты для извлечения изображений, метаданных и прочего.

Утилиты внутри пакета poppler-utils отображены в списке

Базовая команда для конвертации PDF в текст

Самая простая команда преобразует весь PDF в текстовый файл:

pdftotext /home/lori/Documents/Sample.pdf /home/lori/Documents/Sample.txt

Замените пути и имена файлов на соответствующие в вашей системе. Если имя выходного файла не указано, pdftotext по умолчанию создаст файл с тем же базовым именем и расширением .txt (например, file.pdf → file.txt). Если в качестве выходного файла указать -, результат будет выведен в stdout (в терминал), а не записан в файл.

После выполнения вы сможете открыть получившийся .txt как обычный текстовый файл.

Созданный текстовый файл отображается в файловом менеджере

Сохранение макета документа

Иногда важно сохранить расположение заголовков, колонок, нумерацию страниц и т. п. Для этого используйте флаг -layout:

pdftotext -layout /home/lori/Documents/Sample.pdf /home/lori/Documents/Sample.txt

Флаг -layout пытается повторить визуальное оформление исходного PDF в текстовом файле: колонки, отступы и переносы строк будут расположены максимально близко к исходнику. Это полезно для документов с таблицами или газетным форматированием, но не всегда идеально при сложной вёрстке.

Конвертация только нужных страниц

Чтобы преобразовать лишь часть документа, укажите страницы через флаги -f (first) и -l (last — строчная L):

pdftotext -f 5 -l 9 /home/lori/Documents/Sample.pdf /home/lori/Documents/Sample.txt

Это превратит в текст только страницы с 5 по 9 включительно.

Работа с защищёнными PDF

Если PDF защищён паролем владельца (owner password), используйте флаг -opw (первый символ — строчная буква «o», не цифра ноль):

pdftotext -opw 'password' /home/lori/Documents/Sample.pdf /home/lori/Documents/Sample.txt

Если документ защищён пользовательским паролем (user password), используйте -upw:

pdftotext -upw 'password' /home/lori/Documents/Sample.pdf /home/lori/Documents/Sample.txt

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

Концы строк (EOL)

Флаг -eol задаёт тип символа конца строки в выходном файле — полезно, если вы планируете открывать файл в другой ОС. Доступные значения: unix, dos, mac:

pdftotext -eol dos /home/lori/Documents/Sample.pdf /home/lori/Documents/Sample.txt

Это запишет окончания строк в формате CRLF, привычном для Windows.

Частые проблемы и когда pdftotext не подходит

  • PDF — изображение (скан). pdftotext работает с текстовыми слоями PDF и не распознаёт текст на изображениях. В таких случаях нужна OCR (оптическое распознавание): рекомендуемые инструменты — ocrmypdf (создаёт PDF с текстовым слоем) или tesseract (извлекает текст из изображений).
  • Сложная вёрстка и много колонок. -layout может не восстановить идеальный порядок чтения. Иногда проще сохранить без -layout и вручную обработать текст.
  • Кавычки и специальные символы могут некорректно отобразиться при несовпадении кодировок. pdftotext обычно выводит UTF-8, но убедитесь, что ваш редактор поддерживает UTF-8.
  • Защищённые PDF с сильным шифрованием или DRM. pdftotext не сможет обойти DRM; потребуется легальный доступ к исходному контенту.

Альтернативные подходы

  • GUI-инструменты: многие PDF-ридеры или офисные пакеты (LibreOffice Draw, Okular) позволяют сохранить или скопировать текст. Это удобно для разовых задач.
  • OCR для сканов: ocrmypdf input.pdf output.pdf добавит текстовый слой к PDF; tesseract image.png out.txt извлечёт текст из изображения.
  • Экспорт в HTML: иногда полезно конвертировать PDF в HTML, а затем извлечь текст, если нужен более гибкий парсинг.

Шпаргалка команд (cheat sheet)

# проверка пакета
dpkg -s poppler-utils

# установка
sudo apt-get update
sudo apt-get install poppler-utils

# конвертировать весь PDF в файл .txt
pdftotext /path/to/file.pdf /path/to/file.txt

# вывести результат в терминал
pdftotext /path/to/file.pdf -

# сохранить макет
pdftotext -layout /path/to/file.pdf /path/to/file.txt

# диапазон страниц
pdftotext -f 2 -l 4 /path/to/file.pdf /path/to/file.txt

# пароль владельца
pdftotext -opw 'ownerpass' /path/to/file.pdf /path/to/file.txt

# пароль пользователя
pdftotext -upw 'userpass' /path/to/file.pdf /path/to/file.txt

# указать окончания строк
pdftotext -eol unix /path/to/file.pdf /path/to/file.txt

# OCR (если PDF — скан)
ocrmypdf scanned.pdf output.pdf
# или извлечь текст напрямую из изображения
tesseract page.png output -l eng

Проверка качества и критерии приёмки

Перед тем как считать задачу выполненной, проверьте:

  • Наличие всех заголовков и абзацев в логическом порядке.
  • Отсутствие лишних переносов строк внутри абзацев (если это критично для дальнейшей обработки).
  • Читаемые символы: нет искажённых букв, особенно в кириллице или специальных знаках.
  • Для таблиц и колонок: данные читаются по строкам, а не перемешаны.

Если один или несколько критериев не соблюдены, попробуйте -layout, или выполните OCR для сканов.

Роль‑ориентированные чек‑листы

  • Обычный пользователь:

    • Установил poppler-utils.
    • Запустил базовую команду и открыл .txt в редакторе.
  • Системный администратор:

    • Установил пакет на группу машин через конфигурационный менеджер (Ansible/Puppet).
    • Проверил кодировку и права доступа к созданным файлам.
  • Разработчик/инженер данных:

    • Автоматизировал конвертацию (скрипт/Bash) с обработкой ошибок.
    • Добавил OCR-шаг для сканов и проверку качества (unit tests / проверка постусловий).

Краткий словарь

  • pdftotext — утилита для извлечения текстового слоя из PDF-файла.
  • OCR — оптическое распознавание символов, нужно для сканов.
  • EOL — символ(ы) конца строки (unix/dos/mac).

Примеры распространённых сценариев и решения

  • Сценарий: PDF содержит таблицы, текст в столбцах перепутан. Решение: попробуйте -layout, либо экспортируйте страницы в изображения и примените OCR с последующей пост‑обработкой таблиц.

  • Сценарий: pdftotext возвращает пустой файл. Решение: убедитесь, что PDF содержит текстовый слой; если нет — примените OCR.

  • Сценарий: текст с неправильными кодировками. Решение: откройте файл в редакторе, поддерживающем UTF-8, или используйте iconv для перекодирования.

Где искать справку

Для подробной справки введите в терминале:

man pdftotext

Это откроет справочное руководство по всем флагам и подробным опциям.

Краткое резюме

pdftotext — быстрый и простой инструмент для преобразования PDF с текстовым слоем в .txt. Для сканов потребуется OCR; для сложной вёрстки — эксперимент с -layout и последующая ручная правка. Включённый в poppler-utils набор инструментов делает работу с PDF в Linux удобной и поддающейся автоматизации.

Важно: если вам нужно массово обрабатывать файлы, автоматизируйте процесс через скрипты и добавьте проверку качества после конвертации.

Пример открытого результирующего текстового файла в редакторе

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро