Como dividir arquivos PDF do terminal Linux usando PDFtk

Uma das melhores maneiras de dividir arquivos PDF no Linux não é com uma ferramenta GUI como Evince ou Ocular. Em vez disso, é com um aplicativo de terminal chamado PDFtk. Não só pode dividir arquivos PDF, mas também pode editá-los e modificá-los.

Instalar PDFtk

Este aplicativo existe há algum tempo e pode ser facilmente instalado na maioria das distribuições Linux. Abra uma janela de terminal e siga as instruções abaixo para instalar o aplicativo.

Nota: para instalar o PDFtk, você deve estar usando Ubuntu, Debian, Arch Linux, Fedora ou OpenSUSE. Se você não estiver executando nenhuma dessas distribuições Linux, siga as instruções de origem na parte inferior.

Ubuntu

sudo apt install pdftk

Debian

sudo apt-get install pdftk

Arch Linux

O PDFtk é utilizável no Arch Linux, mas os usuários não poderão instalar o software das principais fontes do Arch Linux. Em vez disso, é necessário interagir com o Arch Linux AUR. Para iniciar a instalação do PDFtk no Arch, abra um terminal e use o gerenciador de pacotes Pacman para sincronizar a versão mais recente da ferramenta Git.

  Como definir a sincronização de horário de rede no Linux

Nota: há outro pacote PDFtk no AUR que facilita a instalação do programa, pois descompila um programa pronto, em vez de compilar a partir do código-fonte. Não recomendamos seguir esse caminho, pois há problemas com o pacote GCC-GCJ pronto para uso.

sudo pacman -S git

Agora que o Git está trabalhando no Arch Linux, você poderá usá-lo para baixar a versão mais recente do instantâneo do PDFtk AUR. No terminal, use git clone para baixar o arquivo de instruções de compilação.

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

Usando o comando CD, mova o terminal do diretório inicial do usuário para a pasta pdftk recém-clonada.

cd pdftk

Dentro da pasta de fontes do PDFtk, inicie o processo de construção executando makepkg. Tenha em mente que executar o comando makepkg irá baixar, compilar e instalar automaticamente quaisquer arquivos de dependência necessários. Se, no entanto, o construtor não conseguir pegar automaticamente essas dependências, você precisará instalá-las manualmente. Todas as dependências para o pacote PDFtk AUR podem ser encontradas em link.

Fedora

Atualmente, não há um pacote Fedora PDFtk nos repositórios de software. Felizmente, é fácil fazer os pacotes OpenSUSE funcionarem. Comece usando wget para baixar os pacotes necessários.

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

Usando o comando CD, mova o terminal para a pasta Downloads.

cd ~/Downloads

Por fim, use 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

Construindo a partir da fonte

Construir o PDFtk a partir do código-fonte não exige muito esforço, pois existem arquivos de compilação pré-configurados dentro do diretório de código-fonte. Para compilar o programa a partir do código-fonte, primeiro você precisa baixar o código. Para obter o código, use a ferramenta de download wget no terminal.

  Os 8 melhores recursos de suporte técnico online para usuários do Linux

Para garantir que o PDFtk seja construído corretamente, certifique-se de ter GCC, GCJ e libgcj instalados em seu PC Linux.

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

Em seguida, use o comando Unzip para extrair a pasta PDFtk Zip para a pasta Download do seu PC Linux. Não tem o aplicativo Unzip instalado? Procure no gerenciador de pacotes por “unzip” e instale-o.

cd ~/Downloads

unzip pdftk-2.02-src.zip

A extração do arquivo zip de origem do PDFtk deve criar uma pasta “pdftk-2.02-src” dentro de Downloads. No terminal, use o comando CD para inseri-lo.

cd pdftk-2.02-src

Na pasta raiz do PDFtk, não pode acontecer muita coisa. Para compilar qualquer coisa, precisamos mover o terminal para a subpasta PDFtk.

cd pdftk

A subpasta PDFtk possui dezenas de Makefiles especializados que o usuário pode usar para compilar automaticamente para diferentes sistemas operacionais. Usando o comando LS, liste o conteúdo do diretório.

ls

Procure e encontre o Makefile específico que você precisa e inicie o processo de compilação com o comando abaixo. Por favor, lembre-se de alterar “Makefile.filename” no comando abaixo com o nome do Makefile que você precisa usar.

make -f Makefile.filename

Usando PDFtk

Um dos principais atrativos do PDFtk é sua capacidade de unir e dividir arquivos PDF. Por exemplo, para dividir um arquivo PDF para que cada página do documento seja seu próprio arquivo, tente usar o comando burst:

  Como instalar o Linux de um telefone Android com DriveDroid

pdftk testfile.pdf burst

O PDFtk produzirá os arquivos divididos no mesmo local que o arquivo de origem.

Quer reformar todos os arquivos PDF divididos em um só? Comece renomeando o arquivo PDF original (por segurança).

mv testfile.pdf testfile.bak

Agora que o arquivo PDF de teste está seguro, recombina tudo com o PDFtk. Primeiro, use o comando LS para visualizar os arquivos no diretório.

ls

Em seguida, execute novamente o comando LS, mas desta vez use-o para armazenar todos os nomes de arquivos PDF.

ls *.pdf >> pdf-filenames.txt

Atribua o conteúdo de pdf-filenames.txt a uma variável Bash. Usar uma variável neste caso, em vez de um curinga, significa que, quando recombinarmos o PDF, todas as páginas estarão em ordem.

value=$(<pdf-filenames.txt)

Por fim, recombinar o arquivo PDF com PDFtk e $value.

pdftk $value cat output recombined-document.pdf