Text from pdf linux

pdftotext: Linux / UNIX Convert a PDF File To Text Format

Question: I’ve downloaded configuration file in a PDF format. I do not have GUI installed on remote Linux / UNIX server. How do I convert a PDF (Portable Document Format) file to a text format using command line so that I can view file over remote ssh session?

Answer: Use pdftotext utility to convert Portable Document Format (PDF) files to plain text. It reads the PDF file, and writes a text file. If text file is not specified, pdftotext converts file.pdf to file.txt. If text-file is -, the text is sent to stdout.

Install pdftotext under RedHat / RHEL / Fedora / CentOS Linux

pdftotext is installed using poppler-utils package under various Linux distributions:
# yum install poppler-utils
OR use the following under Debian / Ubuntu Linux
$ sudo apt-get install poppler-utils

pdftotext syntax

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

How do I convert a pdf to text?

Convert a pdf file called hp-manual.pdf to hp-manual.txt, enter:
$ pdftotext hp-manual.pdf hp-manual.txt
Specifies the first page 5 and last page 10 (select 5 to 10 pages) to convert, enter:
$ pdftotext -f 5 -l 10 hp-manual.pdf hp-manual.txt
Convert a pdf file protected and encrypted by owner password:
$ pdftotext -opw ‘password’ hp-manual.pdf hp-manual.txt
Convert a pdf file protected and encrypted by user password:
$ pdftotext -upw ‘password’ hp-manual.pdf hp-manual.txt
Sets the end-of-line convention to use for text output. You can set it to unix, dos or mac. For UNIX / Linux oses, enter:
$ pdftotext -eol unix hp-manual.pdf hp-manual.txt

Further readings:

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

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

Оригинал: How to Convert a PDF File to Editable Text Using the Command Line in Linux
Автор: Lori Kaufman
Дата публикации: 9 ноября 2015 г.
Перевод: А.Панин
Дата перевода: 7 октября 2016 г.

Существует множество причин, по которым вам может понадобиться преобразовать документ формата PDF в текстовый файл. Возможно, вам нужно изменить старый документ и вас есть лишь его версия в формате PDF. Преобразование файлов PDF в ОС Windows не представляет каких-либо сложностей, но что делать в том случае, если вы используете Linux?

Не беспокойтесь, я продемонстрирую простую и рабочую методику преобразования файлов PDF в текстовые файлы с помощью утилиты с интерфейсом командной строки с именем pdftotext из пакета утилит «poppler-utils» . Эта утилита может быть уже установлена в вашей системе. Для проверки ее наличия в системе следует в первую очередь воспользоваться сочетанием клавиш «Ctrl+Alt+T» для открытия окна эмулятора терминала. Далее следует ввести следующую команду после приглашения командной оболочки и нажать клавишу «Enter» .

Читайте также:  Windows 10 идентификатор получателя рекламы

Примечание: если в статье написано, что нужно ввести какую-либо команду, причем сама команда помещена в кавычки, следует вводить ее без кавычек за исключением тех случаев, когда в статье четко указано обратное.

Если утилита pdftotext не установлена, следует ввести следующую команду после приглашения командной оболочки и нажать клавишу «Enter» :

После соответствующего запроса следует ввести свой пароль и нажать клавишу «Enter» :

В установленном пакете poppler-utils имеется множество других инструментов для преобразования документов формата PDF в различные форматы, осуществления манипуляций с файлами PDF и извлечения информации из этих файлов.

Следующая команда позволяет преобразовать файл PDF в текстовый файл. Воспользуйтесь сочетанием клавиш «Ctrl+Alt+T» для открытия окна эмулятора терминала, введите следующую команду после приглашения командной оболочки и нажмите клавишу «Enter» .

Вам придется заменить указанные пути к файлам на пути к оригинальному файлу формата PDF и результирующему текстовому файлу соответственно. Кроме того, вам придется изменить приведенные имена файлов на имена ваших файлов.

Созданный утилитой текстовый файл может быть открыт таким же образом, как и любой другой текстовый файл в Linux.

Результирующий текст будет содержать символы новых строк в тех местах, в которых их не должно быть. Это объясняется тем, что символы новых строк вставляются после каждой строки текста в файле PDF.

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

Если вы хотите осуществить преобразование диапазона страниц файла PDF, вам придется использовать флаги «-f» и «-l» (это «L» в нижнем регистре) для указания номеров первой и последней страниц из диапазона для преобразования:

Для преобразования файла PDF, зашифрованного с использованием пароля владельца, следует использовать флаг «-opw» (первым символом является буква «O» в нижнем регистре, а не цифра 0):

Замените строку «пароль» на пароль, с помощью которого был защищен оригинальный файл PDF. Убедитесь в том, что вы используете одинарные, а не двойные кавычки для выделения пароля.

Если же файл PDF зашифрован с использованием пароля пользователя, следует использовать флаг «-upw» вместо «-opw» . Остальная часть команды не должна изменяться.

Вы также можете указать набор символов новой строки, который будет использоваться в результирующем текстовом файле. Это особенно полезно в том случае, если вы планируете открывать этот файл в другой операционной системе, такой, как Windows или Mac OS, Для этой цели следует использовать флаг «-eol» (вторым символом является буква «O» в нижнем регистре, а не цифра 0), после которого должен следовать символ пробела и идентификатор выбранного набора символов новой строки ( «unix» , «dos» или «mac» ).

Примечание: если вы не укажите имя результирующего текстового файла, утилита pdftotext автоматически использует имя файла PDF, заменив его расширение на «.txt» . Например, имя файла «file.pdf» будет преобразовано в «file.txt» . Если вместо имени текстового файла использовать «-» , результирующий текст будет отправлен в стандартный поток вывода утилиты, что означает, что текст будет выводиться в окно эмулятора терминала и не будет сохраняться в текстовом файле.

Читайте также:  Образ linux для создания iso

Для закрытия окна эмулятора терминала следует нажать на кнопку «X» в его левом верхнем углу.

Для получения дополнительной информации об утилите pdftotext следует ввести команду «man page pdftotext» после приглашения командной оболочки в окне эмулятора терминала и нажать клавишу «Enter» .

Источник

Конвертируем PDF в текстовый файл в Linux

Есть множество различных причин, почему вам нужно конвертировать PDF файл в редактируемый текстовый файл, мы здесь не будем обсуждать причины, но обсудим способ как это можно осуществить в Linux. Возможно, вам нужно посмотреть(изменить) старый документ, но у вас есть лишь PDF версия. Преобразовать PDF файл в Windows, очень легко, но что делать, если вы используете Linux? Думаю этим вопросом задавались многие.

Не стоит беспокоиться. Мы покажем вам, как очень быстро и легко конвертировать PDF файлы в редактируемый текст с помощью инструмента командной строки(терминал) с помощью пакета под названием pdftotext, что является частью утилиты «Poppler-Utils». Этот инструмент может быть уже установлен по умолчанию в системе. Чтобы проверить, установлен ли в вашей системе pdftotext, нажмите «Ctrl + Alt + T», чтобы открыть окно терминала. Введите следующую команду в командной строке и нажмите клавишу «Enter».

Если пакет установлен, хотя должен быть установлен так как проверив в версии Ubuntu 14.04 LTS мы видим следующий текст который нам сообщает, что пакет уже установлен в системе:

Package: poppler-utils
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 432
Maintainer: Ubuntu Developers
Architecture: i386
Multi-Arch: foreign
Source: poppler
Version: 0.24.5-2ubuntu4
Replaces: pdftohtml, xpdf-reader, xpdf-utils ( = 2.4), libcairo2 (>= 1.12.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), liblcms2-2 (>= 2.2+git20110628), libpoppler44 (>= 0.24.5), libstdc++6 (>= 4.1.1)
Breaks: xpdf-utils (

1. В том случае если оказалось, что в вашей версии дистрибутива пакет pdftotext не установлен, введите следующую команду в командной строке и нажмите клавишу «Enter».

sudo apt-get install poppler-utils

  • В утилите Poppler-Utils есть несколько инструментов, которые позволяют конвертировать PDF в другие форматы, манипулируя PDF файлами, и извлекая информацию из файлов.

2. Для примера, давайте представим, что у нас в домашней директории имеется файл с названием Book.pdf, какую команду в нашем случае нужно выполнить чтобы преобразовать данный файл в файл текстового формата для чтения и редактирования например с помощью текстового редактора Gedit или любого другого.

  • Ниже приводится пример основной команды которая используется для преобразования PDF-файла в редактируемый текстовый файл. Нажмите «Ctrl + Alt + T», чтобы открыть окно терминала, далее введите следующую команду в командной строке и нажмите клавишу «Enter».

pdftotext /home/linux/Документы/Book.pdf /home/linux/Документы/Book.txt

В нашем случае linux это моя учетная запись, вы изменяйте на вашу, далее файл Book.pdf с которым мы и проводим опыты, далее через пробел мы так же прописываем путь в ту же директорию где нам создать готовый текстовый файл с результатом конвертации.

Читайте также:  Линукс с драйверами для принтеров

В моем случае я забросил в папку документы простенький документ почти на 3 метра, справочник по HTML, далее выполняю команду:

pdftotext CSS\ Manual.pdf CSS\ Manual.txt

  • Мы имеем готовый текстовый файл результат конвертирования с формата pdf. Конечно очень важно в вашем случае прописать полный и правильный путь к файлу который необходимо конвертировать, чтобы соответствовать расположению и имени вашего оригинального PDF файла и где вы хотите сохранить полученный текстовый файл. Так же не забываем о волшебной клавише под названием Tab при вводе пути и названия файла, убережет ваше время и автоматически подберется тот путь и то название файла которое нужно.

3. Конечно готовый преобразованный текст может иметь разрывы строк которых вы возможно и не хотите как и я. Разрывы строк вставляются после каждой строки текста в файле PDF. Чтобы убрать разрывы и лишнюю табуляцию, мы можем сохранить макет нашего pdf документа (заголовки и многое другого) от оригинального PDF файла в текстовом файле преобразовав с помощью специального флага «-layout».

В итоге готовая команда уже будет иметь следующий вид:

pdftotext -layout /home/linux/Документы/Book.pdf /home/linux/Документы/Book.txt

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

4. Вам нужно преобразовать не целый документ, а определенный диапазон страниц от и до, например с 10 по 100, как будет смотреться готовая команда для конвертации спросите вы. Нажмите «Ctrl + Alt + T», чтобы открыть окно терминала, далее введите следующую команду в командной строке и нажмите клавишу «Enter».

pdftotext -f 10 -l 100 /home/linux/Документы/Book.pdf /home/linux/Документы/Book.txt

5. Как преобразовать PDF файл который зашифрован паролем от владельца спросите вы? Решение данного вопроса так же имеется и имеет следующую готовую комбинацию:

pdftotext -0pw ‘пароль’ /home/linux/Документы/Book.pdf /home/linux/Документы/Book.txt

  • Чтобы вы не попутали при возможном выполнении команды выше, в атрибуте 0pw используется не буква О, а цифра ноль.

6. Как преобразовать файл который защищен паролем, не зашифрован как в варианте выше, так же имеется простое решение, в терминале выполняем готовую комбинацию, пример:

pdftotext -upw ‘пароль’ /home/linux/Документы/Book.pdf /home/linux/Документы/Book.txt

7. Вы можете также указать Тип конца строки, символ, который добавляется в преобразованный текст. Это особенно полезно, если вы планируете использовать файл в разных операционных системах, таких как Windows или Mac. Чтобы сделать это, используйте флаг «-eol» (символ в середине флага является строчной буквой «o», не ноль), затем пробел и указываем окончания для строк который вы хотите использовать («Unix», «Dos», или «Mac»).

  • Готовая команда будет иметь следующий вид, Нажмите «Ctrl + Alt + T», чтобы открыть окно терминала, далее введите следующую команду в командной строке и нажмите клавишу «Enter».

pdftotext -eol unix /home/linux/Документы/Book.pdf /home/linux/Документы/Book.txt

Если вам мало информации по возможности преобразования pdf документов в разнообразные форматы, вы всегда можете прочесть справку, выполнив в терминале команду — man pdftotext. На этом пожалуй материал завершен, если у вас будут вопросы, пожалуйста, спрашивайте в комментариях к материалу ниже, всем удачи.

Источник

Оцените статью