Як розділити PDF-файли з терміналу Linux за допомогою PDFtk

Один із найкращих способів розділити PDF-файли в Linux не є інструментами GUI, такими як 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 Zip до папки завантаження вашого ПК Linux. У вас не встановлено програму Unzip? Знайдіть у диспетчері пакунків «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-файл так, щоб кожна сторінка документа була власним файлом, спробуйте використати команду 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