Jak rozdělit soubory PDF z terminálu Linux pomocí PDFtk

Jedním z nejefektivnějších způsobů, jak rozdělit dokumenty PDF v operačním systému Linux, není grafické uživatelské rozhraní jako Evince nebo Ocular. Efektivní metoda spočívá v použití terminálové aplikace s názvem PDFtk. Tento nástroj nejenže umožňuje rozdělení PDF souborů, ale také jejich úpravu a modifikaci.

Instalace PDFtk

Tento program je k dispozici již delší dobu a instalace na většině linuxových distribucí je poměrně snadná. Otevřete terminál a postupujte podle níže uvedených instrukcí pro instalaci softwaru.

Poznámka: Pro instalaci PDFtk je nutné používat Ubuntu, Debian, Arch Linux, Fedoru nebo OpenSUSE. Pokud nemáte jednu z těchto distribucí, najdete pokyny pro instalaci ze zdrojového kódu v dolní části tohoto textu.

Ubuntu

sudo apt install pdftk

Debian

sudo apt-get install pdftk

Arch Linux

PDFtk je sice na Arch Linuxu dostupný, nicméně instalace z hlavních repozitářů není možná. Je nezbytná interakce s Arch Linux AUR. Pro zahájení instalace PDFtk v Arch Linuxu otevřete terminál a s použitím správce balíčků Pacman synchronizujte nejnovější verzi nástroje Git.

Poznámka: Na AUR existuje i jiný balíček PDFtk, který zjednodušuje instalaci díky dekompilaci již hotového programu. Tento postup však nedoporučujeme, protože byly zjištěny problémy s připraveným balíčkem GCC-GCJ.

sudo pacman -S git

Jakmile je Git v Arch Linuxu funkční, můžete ho použít ke stažení aktuální verze PDFtk AUR snapshotu. Pomocí příkazu `git clone` stáhněte soubor s instrukcemi pro sestavení.

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

Přesuňte terminál z domovského adresáře uživatele do nově vytvořené složky `pdftk` použitím příkazu `cd`.

cd pdftk

Uvnitř adresáře se zdrojovým kódem PDFtk zahajte proces sestavení spuštěním příkazu `makepkg`. Je důležité mít na paměti, že příkaz `makepkg` automaticky stáhne, zkompiluje a nainstaluje všechny potřebné závislosti. Pokud se ale tvůrcům nepodaří tyto závislosti automaticky zachytit, budete je muset nainstalovat manuálně. Všechny závislosti pro balíček PDFtk AUR naleznete zde.

Fedora

V současné době se balíček PDFtk nenachází v softwarových repozitářích Fedory. Nicméně, existuje možnost využití balíčků z OpenSUSE. Pro začátek, stáhněte potřebné balíčky pomocí příkazu `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

Přesuňte se do složky „Downloads“ pomocí příkazu `cd`.

cd ~/Downloads

Nakonec, nainstalujte PDFtk pomocí správce balíčků DNF:

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

Sestavení ze zdrojového kódu

Sestavení PDFtk ze zdrojového kódu není příliš náročné, protože ve zdrojovém adresáři se nachází předkonfigurované soubory sestavení. Pro sestavení programu ze zdrojového kódu je nejprve nutné stáhnout kód. Použijte pro stažení kódu nástroj wget v terminálu.

Ujistěte se, že máte pro správné sestavení PDFtk na vašem počítači se systémem Linux nainstalované GCC, GCJ a libgcj.

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

Poté rozbalte složku ZIP PDFtk do složky Download vašeho Linuxového systému pomocí příkazu `unzip`. Nemáte nainstalovanou aplikaci Unzip? Vyhledejte v softwarovém správci „unzip“ a nainstalujte jej.

cd ~/Downloads

unzip pdftk-2.02-src.zip

Rozbalením zdrojového archivu ZIP PDFtk by měla vzniknout složka „pdftk-2.02-src“ ve složce Downloads. Přesuňte se do ní v terminálu pomocí příkazu `cd`.

cd pdftk-2.02-src

V kořenové složce PDFtk se toho příliš neděje. Pro kompilaci je nutné přesunout se do podsložky PDFtk.

cd pdftk

Podsložka PDFtk obsahuje různé specializované soubory Makefile, které lze použít pro automatické sestavení pro různé operační systémy. Vypište obsah adresáře pomocí příkazu `ls`.

ls

Prohlédněte si a najděte konkrétní Makefile, který potřebujete a spusťte proces sestavení pomocí příkazu níže. Nezapomeňte nahradit „Makefile.filename“ názvem souboru Makefile, který potřebujete.

make -f Makefile.filename

Použití PDFtk

Jednou z klíčových funkcí PDFtk je jeho schopnost spojovat a dělit soubory PDF. Například pro rozdělení PDF souboru tak, aby každá strana dokumentu byla samostatný soubor, použijte příkaz `burst`:

pdftk testfile.pdf burst

PDFtk uloží rozdělené soubory do stejného adresáře jako původní soubor.

Chcete zpět všechny rozdělené soubory PDF spojit do jednoho? Pro začátek přejmenujte původní soubor PDF (pro jistotu).

mv testfile.pdf testfile.bak

Nyní, když je původní soubor PDF v bezpečí, můžeme ho znovu spojit s PDFtk. Nejdříve použijte příkaz `ls` k zobrazení souborů v adresáři.

ls

Poté znovu použijte příkaz `ls`, ale tentokrát ho využijte pro uložení všech názvů PDF souborů.

ls *.pdf >> pdf-filenames.txt

Přiřaďte obsah souboru `pdf-filenames.txt` do proměnné Bash. Použití proměnné v tomto případě, místo zástupného znaku, zajistí, že po spojení PDF soubory budou všechny stránky ve správném pořadí.

value=$(<pdf-filenames.txt)

Nakonec znovu spojte PDF soubory pomocí PDFtk a proměnné `$value`.

pdftk $value cat output recombined-document.pdf