Manipulando arquivos PDF no terminal
Dica publicada em Linux / Introdução
Manipulando arquivos PDF no terminal
Muitas vezes nos deparamos com uma situação onde é necessário realizar alguma alteração em um arquivo PDF, atividades como concatenar um arquivo, remover uma página e criptografar um arquivo etc tornam-se extremamente complicadas se não houver uma ferramenta correta para manipulação.
A intenção aqui é demonstrar as facilidades de uma ferramenta conhecida como PDFTK (PDF ToolKit), que é uma ferramenta desenvolvida para lidar com tarefas do dia-a-dia.
Dentre todas as funcionalidades do PDFTK, as mais usuais são:
Instalação:
No link http://www.accesspdf.com/pdftk/ é possível encontrar uma documentação do sistema e também o código fonte do sistema, bem como o software pré-compilado para várias distros, ou até mesmo o ports do arquivo para os usuários de FreeBSD de plantão.
No meu caso estou utilizando Debian Lenny, realizei o download do arquivo: pdftk_1.41-3_i386.deb
Neste caso para realizar a instalação, basta um simples:
# dpkg -i pdftk_1.41-3_i386.deb
Para os amantes do APT, também é possível realizar a instalação com o seguinte comando.
# apt-get install pdftk
Pronto, o software está instalado e pronto para usar!
pdftk conca.pdf tenado.pdf cat output concatenado.pdf
Dividir páginas de um arquivo PDF ou mais arquivos e criar um novo arquivo:
pdftk A=vol.pdf B=foo.pdf cat A3 B8-16 A15-20 output dividido.pdf
Girando páginas de um arquivo PDF:
(Girar somente a primeira página, em 90° sentido horário e o restante do arquivo permanecer normal)
pdftk foo.pdf cat 1E 2-end output perfect.pdf
(Girar somente a segunda página do arquivo em sentido anti-horário e o restante do arquivo permanecer normal)
pdftk foo.pdf cat 1 2L 3-end output perfect.pdf
(Girar todas as páginas de um arquivo PDF em 180°)
pdftk foo.pdf cat 1-endS output perfect.pdf
Criptografar um arquivo PDF, com uma chave de 128 bits, retirando todas as permissões:
pdftk arquivo.pdf output arquivo_crypt.pdf owner_pw foopasswd
Adicionar marca d'água a arquivos PDF:
pdftk arquivo.pdf background fundo.pdf output comfundo.pdf
Anexar outros arquivos a um arquivo PDF:
pdftk foo.pdf attach_files anexo1.html anexo2.html to_page 12 output anexado.pdf
Tentando recuperar um documento PDF corrompido (se possível):
pdftk estragado.pdf output novo.pdf
Referências:
A intenção aqui é demonstrar as facilidades de uma ferramenta conhecida como PDFTK (PDF ToolKit), que é uma ferramenta desenvolvida para lidar com tarefas do dia-a-dia.
Dentre todas as funcionalidades do PDFTK, as mais usuais são:
- Concatenação de arquivos PDF;
- Cortar páginas de um arquivo PDF;
- Rotacionar páginas de um documento PDF;
- Adicionar criptografia a um arquivo PDF;
- Criar marca d'água em um arquivo PDF;
- Anexar outras páginas em um arquivo PDF;
- Separar todas as páginas de um arquivo em vários arquivos PDF;
- Reparar arquivos PDF (quando possível recuperar).
Instalação:
No link http://www.accesspdf.com/pdftk/ é possível encontrar uma documentação do sistema e também o código fonte do sistema, bem como o software pré-compilado para várias distros, ou até mesmo o ports do arquivo para os usuários de FreeBSD de plantão.
No meu caso estou utilizando Debian Lenny, realizei o download do arquivo: pdftk_1.41-3_i386.deb
Neste caso para realizar a instalação, basta um simples:
# dpkg -i pdftk_1.41-3_i386.deb
Para os amantes do APT, também é possível realizar a instalação com o seguinte comando.
# apt-get install pdftk
Pronto, o software está instalado e pronto para usar!
Exemplos de utilização
Concatenar dois arquivos PDF:pdftk conca.pdf tenado.pdf cat output concatenado.pdf
Dividir páginas de um arquivo PDF ou mais arquivos e criar um novo arquivo:
pdftk A=vol.pdf B=foo.pdf cat A3 B8-16 A15-20 output dividido.pdf
Girando páginas de um arquivo PDF:
(Girar somente a primeira página, em 90° sentido horário e o restante do arquivo permanecer normal)
pdftk foo.pdf cat 1E 2-end output perfect.pdf
(Girar somente a segunda página do arquivo em sentido anti-horário e o restante do arquivo permanecer normal)
pdftk foo.pdf cat 1 2L 3-end output perfect.pdf
(Girar todas as páginas de um arquivo PDF em 180°)
pdftk foo.pdf cat 1-endS output perfect.pdf
Criptografar um arquivo PDF, com uma chave de 128 bits, retirando todas as permissões:
pdftk arquivo.pdf output arquivo_crypt.pdf owner_pw foopasswd
Adicionar marca d'água a arquivos PDF:
pdftk arquivo.pdf background fundo.pdf output comfundo.pdf
Anexar outros arquivos a um arquivo PDF:
pdftk foo.pdf attach_files anexo1.html anexo2.html to_page 12 output anexado.pdf
Tentando recuperar um documento PDF corrompido (se possível):
pdftk estragado.pdf output novo.pdf
Referências:
- http://www.pdfhacks.com/pdftk/
- man pdftk
Só para adicionar algo que também diz respeito a manipulação de pdf's, um comando pouco conhecido que facilita muito a vida de quem precisa extrair texto desses arquivos é o pdftotext.
$ pdftotext documento.pdf
É gerado um arquivo de texto com o conteúdo do pdf, você pode informar as páginas de início e de fim de extração e inclusive manter algumas formas do documento se for invocado com a opção -layout.
$ pdftotext -f firstPage -l lastPage -layout documento.pdf
Abraço!