Uma forma eficaz de manipular arquivos PDF no Linux, sem recorrer a interfaces gráficas como Evince ou Ocular, é através de um utilitário de linha de comando chamado PDFtk. Este software não só permite a divisão de documentos PDF, mas também oferece recursos para edição e modificação.
Procedimento de Instalação do PDFtk
Este aplicativo, já estabelecido há algum tempo, pode ser instalado sem dificuldades na maioria das distribuições Linux. Para iniciar, abra o terminal e siga as instruções específicas para sua distribuição:
Atenção: As instruções abaixo são destinadas a usuários de Ubuntu, Debian, Arch Linux, Fedora ou OpenSUSE. Se sua distribuição não estiver listada, consulte as instruções de compilação a partir do código-fonte fornecidas posteriormente.
Ubuntu
sudo apt install pdftk
Debian
sudo apt-get install pdftk
Arch Linux
Embora o PDFtk seja compatível com o Arch Linux, a instalação através dos repositórios padrão não é possível. A solução envolve o uso do AUR (Arch User Repository). Para iniciar a instalação no Arch, utilize o gerenciador de pacotes Pacman para sincronizar a versão mais recente da ferramenta Git:
Observação: Existe outro pacote PDFtk no AUR que facilita a instalação, pois ele já vem compilado, ao invés de compilar do código-fonte. No entanto, não recomendamos esta abordagem devido a problemas com a versão pré-compilada GCC-GCJ.
sudo pacman -S git
Com o Git instalado, use-o para baixar a versão mais recente do snapshot do PDFtk AUR. Utilize o comando git clone:
git clone https://aur.archlinux.org/pdftk.git
Navegue para a pasta recém-criada do PDFtk utilizando o comando cd:
cd pdftk
Dentro desta pasta, inicie o processo de compilação com o comando makepkg. Este comando irá baixar, compilar e instalar as dependências necessárias automaticamente. Caso as dependências não sejam detectadas automaticamente, você deverá instalá-las manualmente, seguindo o link https://aur.archlinux.org/packages/pdftk/ para obter a lista completa.
Fedora
Atualmente, não há um pacote PDFtk nos repositórios oficiais do Fedora. No entanto, é possível utilizar os pacotes do OpenSUSE. Comece baixando os pacotes com 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
Mova-se para a pasta Downloads com o comando cd:
cd ~/Downloads
Utilize o gerenciador de pacotes DNF para instalar o 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
Compilação a Partir do Código-Fonte
Compilar o PDFtk a partir do código-fonte não é um processo complexo, já que existem arquivos de compilação pré-configurados. Para iniciar, baixe o código-fonte com o comando wget no terminal:
wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip
Certifique-se de que GCC, GCJ e libgcj estejam instalados em seu sistema para evitar problemas na compilação.
Utilize o comando unzip para extrair o arquivo zip do PDFtk para sua pasta Downloads. Caso não possua o unzip, instale-o através do gerenciador de pacotes.
cd ~/Downloads unzip pdftk-2.02-src.zip
A extração criará a pasta “pdftk-2.02-src” em Downloads. Utilize o comando cd para entrar nesta pasta:
cd pdftk-2.02-src
Para iniciar a compilação, navegue até a subpasta PDFtk:
cd pdftk
Esta pasta contém vários Makefiles específicos. Liste o conteúdo com o comando ls:
ls
Localize o Makefile adequado para seu sistema e execute a compilação, substituindo “Makefile.filename” pelo nome real do arquivo:
make -f Makefile.filename
Utilizando o PDFtk
Uma das funcionalidades mais notáveis do PDFtk é sua capacidade de unir e dividir arquivos PDF. Por exemplo, para dividir um PDF em arquivos separados por página, use o comando burst:
pdftk testfile.pdf burst
Os arquivos resultantes serão criados no mesmo diretório do arquivo original.
Para combinar novamente os arquivos divididos em um único documento, comece renomeando o arquivo original (para segurança):
mv testfile.pdf testfile.bak
Agora, utilize o PDFtk para reunir todos os arquivos divididos. Primeiro, liste os arquivos no diretório com ls:
ls
Em seguida, utilize o comando ls novamente para coletar os nomes dos arquivos PDF:
ls *.pdf >> pdf-filenames.txt
Atribua o conteúdo do arquivo pdf-filenames.txt a uma variável Bash. Isso garante que as páginas serão combinadas na ordem correta:
value=$(<pdf-filenames.txt)
Por fim, recombine o arquivo PDF com PDFtk e a variável $value:
pdftk $value cat output recombined-document.pdf