Компьютерное

Как преобразовать PDF файл в текстовый

Решение вопроса вынесенного в заголовок достигается утилитой pdftotext. pdftotext — это утилита командной строки, которая преобразует PDF-файлы в обычный текст. Она имеет много опций, включая возможность указать диапазон страниц для преобразования, сохранить или нет исходную разметку текста, возможость задать окончания строк (unix, dos или mac) и даже умеет работать с PDF-файлами, защищенными паролем.

pdftotext является частью пакета poppler / poppler-utils / poppler-tools (в зависимости от используемого дистрибутива Linux). так что для получения утилиты вам потребуется установить весь пакет.

Установка

Debian, Ubuntu, Linux Mint и другие дистрибутивы Linux на основе Debian / Ubuntu:

sudo apt install poppler-utils

Fedora:

sudo dnf install poppler-utils

openSUSE:

sudo zypper install poppler-tools

Arch Linux:

sudo pacman -S poppler

В других дистрибутивах Linux используйте менеджер пакетов для установки пакета poppler / poppler-utils.

Использование

Теперь, когда пакет установлен, вы можете преобразовать PDF-файл в обычный текст и сохранить его макет (я рекомендую использовать параметр -layout для сохранения исходной разметки, но вы можете попробовать и без него) с помощью:

pdftotext -layout input.pdf output.txt

Где:

  • input.pdf — путь до вашего PDF-файла,
  • output.txt — путь до файла где будет сохранен результат. Если выходной текстовый файл не указан, pdftotext будет называть файл с тем же именем, что и исходный файл PDF.
  • Опция —layout будет сохранять форматирование текста, даже если он изначально был сверстан в несколько колонок.

Что если вы хотите конвертировать в текст лишь диапазон страниц PDF, а не весь файл? Используйте указание диапазона для конвертирования через опции -f (номер начальной страницы для конвертирования) и -l (номер последней страницы для конвертирования), например:

pdftotext -layout -f M -l N input.pdf

Где: M — номер страницы начала конвертирования, N — номер страницы окончания конвертирования, input.pdf — имя файла для преобразования в текст.

Хотите указать какие символы конца строки Mac, DOS или Unix использовать в получаемом тексте? Вы можете указать это, используя функцию -eol, затем mac, dos или unix. Например. для получения файла с символами конца строки Unix:

pdftotext -layout -eol unix input.pdf

Если вы не хотите вставлять разрывы страниц между страницами, добавьте опцию -nopgbrk:

pdftotext -layout nopgbrk input.pdf

Хотите конвертировать все файлы PDF внутри директории в текстовые файлы? pdftotext не поддерживает пакетное преобразование PDF в текст (и pdftotext * .pdf не работает), но вы можете это сделать при помощи цикла Bash:

for file in *.pdf; do pdftotext -layout "$file"; done

Для получения дополнительных опций запустите man pdftotext и pdftotext —help.

Mirivlad

Скромный труженик консоли и окошек.

Share
Published by
Mirivlad

Recent Posts

Реверс-инжиниринг электроники и ПО

Реверс инжиниринг электроники и программного обеспечения — увлекательная и важная дисциплина, играющая ключевую роль в…

4 месяца ago

Что лучше Apple iPhone 14 или iPhone 13: сравниваем модели

Рынок смартфонов не стоит на месте и каждый год пополняется новыми моделями. Компания Apple традиционно…

4 месяца ago

Как открыть интернет-магазин с нуля в 2024 году?

Запуск онлайн-бизнеса может показаться сложной задачей, но на самом деле этот процесс можно существенно упростить,…

6 месяцев ago

Как проверить текст на уникальность?

Если Вы хотите продвинуть свой сайт в поисковых системах, одним из самых важных аспектов является…

9 месяцев ago

ТОП лучших смартфонов Samsung 2024 года: рейтинг по цене и качеству

Корейская компания Samsung зарекомендовала себя на потребительском рынке как производитель флагманов, так и бюджетных смартфонов.…

1 год ago

Как навсегда удалить профиль в Instagram?

В то время как множество пользователей регистрируются в Инстаграм, другие ищут способы как удалить аккаунт…

2 года ago