В следующей статье мы рассмотрим pdftotext. Это утилита командной строки с открытым исходным кодом, которая позволит нам конвертировать PDF-файлы в простые текстовые файлы. По сути, он извлекает текстовые данные из файлов PDF. Это программное обеспечение является бесплатным и по умолчанию включено во многие дистрибутивы Gnu / Linux.
В следующих строках мы увидим инструмент для терминала, но с той же целью извлечения текста из файлов PDF. вы также можете использовать графический инструмент, например калибр. Стоит отметить, что и графический инструмент, и тот, который мы можем использовать в терминале, они не могут извлечь текст, если PDF-файл состоит из изображений (фотографии, отсканированные книжные изображения и т. д.).
В большинстве дистрибутивов Gnu / Linux pdftotext включен как часть пакета poppler-utils. Этот инструмент представляет собой утилиту командной строки, которая конвертировать PDF-файлы в обычный текст. В нем мы найдем множество доступных опций, в том числе возможность указать диапазон страниц для преобразования, возможность максимально сохранить исходный физический макет текста, установить окончания строк и даже работать с защищенными паролем PDF-файлами. .
Установите pdftotext в Ubuntu
Чтобы установить этот инструмент в нашей системе Ubuntu, если он еще не установлен, вам просто нужно открыть терминал (Ctrl + Alt + T) и написать в нем следующую команду установить poppler-utils:
sudo apt install poppler-utils
Как использовать pdftotext
Преобразование файла PDF в текст
После того, как пакет установлен в нашей операционной системе, мы можем преобразовать файл PDF в обычный текст. Может постарайтесь сохранить оригинальный дизайн, используя опцию -разметка с командой, но мы можем попробовать и без нее. В терминале (Ctrl + Alt + T) команда для использования будет следующей:
pdftotext -layout pdf-entrada.pdf pdf-salida.txt
В предыдущей команде нам пришлось бы заменить pdf-input.pdf с именем PDF-файла, который мы хотим преобразовать, и pdf-output.txt по имени файла TXT, в котором мы хотим сохранить текст входного файла PDF. Если мы не укажем какой-либо выходной текстовый файл, pdftotext автоматически назовет файл с тем же именем, что и исходный файл PDF, но с расширением txt.. Еще одна вещь, которую может быть интересно добавить в команду, - это пути перед именами файлов, если это необходимо (~ / Documents / pdf-input.pdf).
Преобразование в текст только диапазона страниц PDF
Если нас не интересует преобразование всего PDF-файла, а мы хотим сузить диапазон страниц PDF для преобразования в текст будут используйте параметр -f (первая страница для конвертации) А -l (последняя страница для конвертации), за которым следует каждый вариант с номером страницы. Команда, которую следует использовать, будет примерно такой:
pdftotext -layout -f P -l U pdf-entrada.pdf
В предыдущей команде вам нужно будет замените буквы P и U на номера первой и последней страницы извлекать. Имя pdf-input.pdf Нам также придется изменить его и дать ему имя файла PDF, с которым мы хотим работать.
Используйте символы конца строки
Это мы сможем указать используя -eol, за которым следует mac, dos или unix. Следующая команда добавит окончания строки unix:
pdftotext -layout -eol unix pdf-entrada.pdf
Помощь
к проверить доступные варианты, запустите страницу руководства:
man pdftotext
Вы также можете обратитесь к варианту справки командой:
pdftotext --help
Преобразование файлов PDF из папки с помощью цикла FOR Bash
Если мы хотим преобразовать все файлы PDF в папке в текстовые файлы, pdftotext не поддерживает пакетное преобразование из PDF в текст. Эсто мы сможем сделать это с помощью цикла FOR Bash в терминале (Ctrl + Alt + T):
for file in *.pdf; do pdftotext -layout "$file"; done
к больше информации о pdftotext, вы можете проконсультироваться сайт проекта. Если вы предпочитаете не вводить команды в терминале, вы также можете использовать онлайн-сервис чтобы получить тот же результат.
да, это работает, но иногда мне приходится делать OCR или использовать Libre Office Draw.
Вдобавок есть много редакторов pdf. и, по-видимому, этого не происходит с текстовыми изображениями, поэтому я не считаю это практичным.
А Libre Office Draw интуитивно понятен и практичен.