quinta-feira, janeiro 24, 2013

Arquivos PDF no Linux: juntando, quebrando e brincando

Pessoal, bom dia!

Vamos direto ao ponto. Minha necessidade era juntar 2 arquivos PDF. A solução foi utilizar o PDFTK, em linha de comando mesmo.
Fuçando na internet, achei uma postagem do Helbert Rocha em http://meupinguim.com/como-juntar-pdf-linux/ que atendeu à minha necessidade e depois também encontrei uma outra postagem do Ricardo Costa em http://www.linuxdescomplicado.com.br/2011/11/maneira-mais-facil-para-unir-e-dividir.html que dava referência ao site do desenvolvedor.

PDFLabs - http://www.pdflabs.com/docs/pdftk-cli-examples/

Instalando:

Abrindo o console você deve instalar (se não já tiver instalado, claro) o PDFTK. Esta ação deveser feita como super-usuário, então:
$ sudo apt-get install pdftk

Com ele instalado você pode obter as informações de comandos e parâmetros utilizando:
$ info pdftk

A partir de agora, mão à obra!

Quando eu trabalho com arquivos com necessidade simples, prefiro tê-los na mesma pasta e trabalhar com eles gerando o produto do trabalho no mesmo diretório. Mas isso é de cada um. Então, por exemplo, considerando que quando abrimos uma console estamos em nosso "home" e que os arquivos estejam no Desktop:
$ cd Desktop

Agora os usos mais interessantes (para mim)!

Juntando arquivos:

Vamos juntar 3 arquivos - a1.pdf, a2.pdf e a3.pdf - em junto.pdf
$ pdftk a1.pdf a2.pdf a3.pdf cat output junto.pdf

Podemos também dar apelidos para um uso mais avançado, e unir somente alguns deles da lista:
$ pdftk A=a1.pdf B=a2.pdf C=a3.pdf cat A C output parcial.pdf

Se quiser juntar tudo de um diretório:
$ pdftk *.pdf cat output tudo.pdf

Colando 2 arquivos, sendo uma página de cada por vez (escaneou dessa forma, por exemplo):
$ pdftk A=impar.pdf B=par.pdf shuffle A B output ordenado.pdf

Separando:

Vamos separar junto.pdf em páginas individuais:
$ pdftk junto.pdf burst

Removendo:

Vamos remover a página 5 e gerar o arquivos faltando.pdf (a saída será de 1 a 4 e de 6 até o fim):
$ pdftk completo.pdf cat 1-4 6-end output faltando.pdf
ou
$ pdftk A=completo.pdf cat A1-4 A6-end output faltando.pdf

Brincando um pouco:

Juntando 2 arquivos, o primeiro inteiro e o segundo somente as 3 primeiras páginas.
$ pdftk A=a1.pdf B=a2.pdf cat A B1-3 output juntofaltando.pdf

Girando a 90 graus em sentido horário (leste/direita) a primeira página do arquivo e o restante deixando como veio:
$ pdftk entrada.pdf cat 1east 2-end output saida.pdf

Segurança:

Criptografando um arquivo (128-bit por padrão) com senha "minhasenha":
$ pdftk entrada.pdf output saida128.pdf owner_pw minhasenha

E com criptografia 40-bit (revoga todos os acessos por padrão):
$ pdftk a1.pdf a2.pdf cat output saida40.pdf encrypt_40bit owner_pw minhasenha

Juntando 2 arquivos sendo o primeiro com senha e gerando um sem criptografia:
$ pdftk A=comsenha.pdf semsenha.pdf input_pw A=senhadoarquivo cat output saida.pdf


Espero ter ajudado! Dê uma olhada na info do pdftk e no site do desenvolvedor que passei no início da postagem.

Abraço!