Один із найефективніших способів поділу 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