Dividir PDFs no Linux: Guia Completo com PDFtk

Foto do autor

By luis

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