Как разделить файлы PDF из терминала Linux с помощью PDFtk

Один из лучших способов разделить файлы PDF в Linux — это не инструменты с графическим интерфейсом, такие как Evince или Ocular. Вместо этого используется терминальное приложение PDFtk. Он не только может разделять PDF-файлы, но также может редактировать и изменять их.

Установить PDFtk

Это приложение существует уже давно и может быть легко установлено в большинстве дистрибутивов Linux. Откройте окно терминала и следуйте инструкциям ниже, чтобы установить приложение.

Примечание: для установки PDFtk вы должны использовать Ubuntu, Debian, Arch Linux, Fedora или OpenSUSE. Если вы не используете какой-либо из этих дистрибутивов Linux, следуйте инструкциям источника внизу.

Ubuntu

sudo apt install pdftk

Debian

sudo apt-get install pdftk

Arch Linux

PDFtk можно использовать в Arch Linux, но пользователи не смогут установить программное обеспечение из основных источников Arch Linux. Вместо этого требуется взаимодействие с Arch Linux AUR. Чтобы начать установку PDFtk на Arch, откройте терминал и используйте диспетчер пакетов Pacman для синхронизации последней версии инструмента Git.

Примечание: в AUR есть еще один пакет PDFtk, который упрощает установку программы, поскольку он декомпилирует готовую программу, а не собирает ее из исходных текстов. Не рекомендуем идти по этому пути, так как есть проблемы с готовым пакетом GCC-GCJ.

sudo pacman -S git

Теперь, когда Git работает с Arch Linux, вы сможете использовать его для загрузки последней версии моментального снимка PDFtk AUR. В терминале используйте git clone, чтобы загрузить файл инструкции по сборке.

git clone https://aur.archlinux.org/pdftk.git

Используя команду CD, переместите терминал из домашнего каталога пользователя во вновь клонированную папку pdftk.

cd pdftk

Внутри папки источников PDFtk запустите процесс сборки, запустив makepkg. Имейте в виду, что запуск команды makepkg автоматически загрузит, скомпилирует и установит все необходимые файлы зависимостей. Однако, если компоновщик не может автоматически получить эти зависимости, вам придется установить их вручную. Все зависимости для пакета PDFtk AUR можно найти здесь связь.

  4 лучших менеджера паролей Linux

Fedora

В настоящее время в репозиториях программного обеспечения нет пакета Fedora PDFtk. К счастью, заставить работать пакеты OpenSUSE несложно. Начните с использования wget для загрузки необходимых пакетов.

wget https://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/pdftk-2.02-10.1.x86_64.rpm

wget https://ftp.gwdg.de/pub/opensuse/distribution/leap/42.3/repo/oss/suse/x86_64/libgcj48-4.8.5-24.14.x86_64.rpm

С помощью команды CD переместите терминал в папку Downloads.

cd ~/Downloads

Наконец, используйте менеджер пакетов DNF для установки PDFtk:

sudo dnf install libgcj48-4.8.5-24.14.x86_64.rpm pdftk-2.02-10.1.x86_64.rpm -y

OpenSUSE

sudo zypper install pdftk

Строительство из источника

Сборка PDFtk из исходного кода не требует особых усилий, так как внутри исходного каталога есть предварительно настроенные файлы сборки. Чтобы собрать программу из исходного кода, вам сначала нужно загрузить код. Чтобы получить код, используйте инструмент загрузки wget в терминале.

  Как использовать rclone для резервного копирования на Google Диск в Linux

Чтобы обеспечить правильную сборку PDFtk, убедитесь, что на вашем компьютере с Linux установлены GCC, GCJ и libgcj.

wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip

Затем используйте команду Unzip, чтобы извлечь папку PDFtk Zip в папку Download на вашем ПК с Linux. Не установлено приложение Unzip? Найдите в диспетчере пакетов слово «распаковать» и установите его.

cd ~/Downloads

unzip pdftk-2.02-src.zip

При распаковке zip-архива с исходным кодом PDFtk должна появиться папка «pdftk-2.02-src» внутри Загрузок. В терминале используйте команду CD, чтобы ввести его.

cd pdftk-2.02-src

В корневой папке PDFtk мало что может быть места. Чтобы что-либо скомпилировать, нам нужно переместить терминал в подпапку PDFtk.

cd pdftk

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

ls

Просмотрите и найдите нужный файл Makefile и запустите процесс сборки с помощью команды ниже. Не забудьте изменить «Makefile.filename» в приведенной ниже команде на имя Makefile, который вам нужно использовать.

make -f Makefile.filename

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

Одним из основных преимуществ PDFtk является его способность объединять и разделять файлы PDF. Например, чтобы разбить файл PDF таким образом, чтобы каждая страница документа представляла собой отдельный файл, попробуйте использовать команду пакетной передачи:

  6 лучших клиентов Telegram Chat для Linux

pdftk testfile.pdf burst

PDFtk выведет разделенные файлы в том же месте, что и исходный файл.

Хотите преобразовать все разделенные файлы PDF в один? Начните с переименования исходного файла PDF (в целях безопасности).

mv testfile.pdf testfile.bak

Теперь, когда тестовый файл PDF безопасен, объедините все заново с помощью PDFtk. Сначала используйте команду LS для просмотра файлов в каталоге.

ls

Затем повторно запустите команду LS, но на этот раз используйте ее для сохранения всех имен файлов PDF.

ls *.pdf >> pdf-filenames.txt

Назначьте содержимое файла pdf-filenames.txt переменной Bash. Использование переменной в этом случае вместо подстановочного знака означает, что при повторном объединении PDF-файла все страницы будут в порядке.

value=$(<pdf-filenames.txt)

Наконец, рекомбинируйте файл PDF с помощью PDFtk и $ value.

pdftk $value cat output recombined-document.pdf