Як розділити 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 можна знайти за посиланням.

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 перемістіть термінал у папку “Завантаження”.

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 у терміналі.

Для забезпечення коректної збірки PDFtk переконайтеся, що на вашому комп’ютері з Linux встановлені GCC, GCJ та libgcj.

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

Далі використайте команду Unzip для розпакування архіву PDFtk до папки завантажень вашого ПК Linux. Якщо у вас не встановлено програму Unzip, знайдіть її в менеджері пакетів та встановіть.

cd ~/Downloads

unzip pdftk-2.02-src.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-файлу на окремі сторінки, виконайте команду burst:

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