Como criar e combinar arquivos PDF na linha de comando do Linux

Ícone de arquivo PDF em um fundo azul.

Os arquivos PDF foram projetados para promover o compartilhamento. Todos podem abri-los – em seus navegadores, se não tiverem mais nada. O Linux permite manipular, mesclar e dividir arquivos PDF na linha de comando.

O formato de documento portátil

O Portable Document Format ( PDF ) resolveu um problema. Quando você criava um documento em um computador e queria compartilhá-lo com outra pessoa, enviar o documento nem sempre funcionava.

Mesmo que eles tivessem o mesmo pacote de software que você usou para criar seu documento, eles podem não ter as mesmas fontes instaladas no computador que você tinha no seu. Eles poderiam abrir o documento, mas pareceria errado.

Se eles não tivessem uma cópia do software que você usou para criar o pacote, eles não conseguiriam abri-lo. Se você usou um software que só estava disponível no Linux, não fazia sentido enviar aquele documento para alguém que só usava Windows.

A Adobe criou um novo formato de arquivo em 1992 e o chamou de formato de documento portátil. Documentos criados de acordo com esse padrão — ISO 32000 — contêm as imagens e fontes necessárias para renderizar corretamente o conteúdo do arquivo. Os arquivos PDF podem ser abertos por visualizadores de PDF em qualquer plataforma. Foi uma solução multiplataforma, simples e elegante.

Um arquivo PDF não foi projetado para ser maleável como um documento de processador de texto. Eles não se prestam facilmente à edição. Se precisar alterar o conteúdo de um PDF, é sempre melhor voltar ao material de origem, editá-lo e gerar um novo PDF. Em contraste com a tentativa de alterar o conteúdo, as manipulações estruturais podem ser realizadas em arquivos PDF com relativa facilidade.

Aqui estão algumas maneiras de criar arquivos PDF no Linux e como realizar algumas das transformações que podem ser aplicadas a eles.

Criando arquivos PDF no Linux

Muitos dos aplicativos disponíveis no Linux podem gerar arquivos PDF diretamente. O LibreOffice  possui um botão na barra de ferramentas que gera um PDF do documento atual. Não poderia ser mais fácil.

O botão PDF do LibreOffice Writer

Para um controle refinado da criação de PDF, o  aplicativo de editoração eletrônica Scribus  é difícil de superar.

Se você precisa criar documentos com conteúdo científico ou matemático, talvez para submissão a revistas acadêmicas, um aplicativo que utilize  LaTeX , como o  Texmaker , será perfeito para você.

Recomendado:  Lembre-se de BBSes? Veja como você pode visitar um hoje

Se preferir um fluxo de trabalho de texto simples, talvez usando  Markdown , você pode usar

 pandoc 

para converter de e para vários formatos de arquivo, incluindo PDF. Temos um guia dedicado a

 pandoc 

 mas um exemplo simples mostrará como é fácil de usar.

Instale o Texmaker primeiro.

 pandoc 

depende de algumas bibliotecas LaTeX para geração de PDF. Instalar o Texmaker é uma maneira conveniente de atender a essas dependências.

O

 -o 

A opção (saída) é usada para especificar o tipo de arquivo que será criado. O arquivo “raw-notes.md” é um arquivo Markdown de texto simples.

pandoc -o novo.pdf raw-notes.md

Usando pandoc para criar um PDF a partir de um arquivo Markdown

Se abrirmos o arquivo “new.pdf” em um visualizador de PDF, veremos que é um PDF formado corretamente.

Abrindo o PDF criado pelo pandoc

O comando qpdf

O   qpdf  comando permite manipular arquivos PDF existentes , preservando seu conteúdo. As mudanças que você pode fazer são estruturais. Com qpdfvocê pode realizar tarefas como mesclar arquivos PDF, extrair páginas, girar páginas e definir e remover criptografia.

Para instalar qpdfno Ubuntu use este comando:

sudo apt instalar qpdf

Instalando qpdf no Ubuntu

O comando no Fedora é:

sudo dnf instalar qpdf

Instalando qpdf no Fedora

No Manjaro você deve digitar:

sudo pacman -S qpdf

Instalando qpdf no Manjaro

Mesclando arquivos PDF

A princípio, parte da qpdfsintaxe da linha de comando pode parecer confusa. Por exemplo, muitos dos comandos esperam um arquivo PDF de entrada.

Se um comando não exigir um, você precisará usar a --emptyopção. Isso indica qpdfpara não esperar um arquivo de entrada. A --pagesopção permite escolher páginas. Se você fornecer apenas os nomes do PDF, todas as páginas serão usadas.

Para combinar dois arquivos PDF para formar um novo arquivo PDF, use este comando format.

qpdf --empty --pages primeiro.pdf segundo.pdf -- combinado.pdf

Combinando dois arquivos PDF para criar um novo arquivo PDF

Este comando é composto por:

  • qpdf : Chama o qpdfcomando.
  • –empty : Informa qpdfque não há PDF de entrada. Você poderia argumentar que “first.pdf” e “second.pdf” são arquivos de entrada, mas qpdfos considera parâmetros de linha de comando.
  • –pages : informa que qpdftrabalharemos com páginas.
  • first.pdf second.pdf : Os dois arquivos dos quais extrairemos as páginas. Não usamos intervalos de páginas, portanto todas as páginas serão usadas.
  • : Indica o fim das opções de comando.
  • combinado.pdf : O nome do PDF que será criado.

Se procurarmos por arquivos PDF com ls, veremos nossos dois arquivos originais – intocados – e o novo PDF chamado “combined.pdf”.

ls -hl primeiro.pdf segundo.pdf combinado.pdf

Usando ls para listar os arquivos PDF novos e existentes

Existem duas páginas em “first.pdf” e uma página em “second.pdf”. O novo arquivo PDF tem três páginas.

O novo arquivo PDF contém todas as páginas dos dois arquivos PDF originais

Você pode usar curingas em vez de listar muitos arquivos de origem. Este comando cria um novo arquivo chamado “all.pdf” que contém todos os arquivos PDF no diretório atual.

Recomendado:  Como nomear seus dispositivos Smarthome para um melhor controle de voz

qpdf --empty --pages *.pdf -- all.pdf

Usando curingas na linha de comando qpdf

Podemos usar intervalos de páginas adicionando os números ou intervalos de páginas atrás dos nomes dos arquivos dos quais as páginas serão extraídas.

Isso extrairá as páginas um e dois de “first.pdf” e a página dois de “second.pdf”. Observe que se “combined.pdf” já existir, ele não será substituído. Ele tem as páginas selecionadas adicionadas a ele.

qpdf --empty --pages primeiro.pdf 1-2 segundo.pdf 1 -- combinado.pdf

Usando intervalos de páginas para selecionar as páginas a serem adicionadas ao novo arquivo

Os intervalos de páginas podem ser tão detalhados quanto você desejar. Aqui, solicitamos um conjunto muito específico de páginas de um arquivo PDF grande e criamos um arquivo PDF de resumo.

qpdf --empty --pages large.pdf 1-3,7,11,18-21,55 -- resumo.pdf

Usando um conjunto complicado de intervalos de páginas

O arquivo de saída, “summary.pdf” contém as páginas 1 a 3, 7, 11, 18 a 21 e 55 do arquivo PDF de entrada. Isso significa que existem 10 páginas em “summary.pdf”

A página 10 do novo PDF é a página 55 do arquivo de origem

Podemos ver que a página 10 é a página 55 do PDF de origem.

Dividindo arquivos PDF

O oposto de mesclar arquivos PDF é dividir arquivos PDF. Para dividir um PDF em arquivos PDF separados, cada um contendo uma única página, a sintaxe é simples.

O arquivo que estamos dividindo é “summary.pdf” e o arquivo de saída é “page.pdf”. Isso é usado como o nome base. Cada novo arquivo possui um número adicionado ao nome base. A --split-pagesopção informa qpdfque tipo de ação estamos realizando.

resumo qpdf.pdf página.pdf --páginas divididas

Dividir um arquivo PDF em vários arquivos PDF de uma página cada

A saída é uma série de arquivos PDF numerados sequencialmente.

ls página*.pdf

usando ls para listar os arquivos PDF numerados

Se não quiser dividir todas as páginas, use intervalos de páginas para selecionar as páginas desejadas.

Se emitirmos o próximo comando, dividiremos uma coleção de arquivos PDF de uma única página. Os intervalos de páginas são usados ​​para especificar as páginas ou intervalos que desejamos, mas cada página ainda é armazenada em um único PDF.

qpdf grande.pdf seção.pdf --páginas grandes.pdf 1-5,11-14,60,70-100 ---páginas divididas

Dividir um PDF com intervalos de páginas

As páginas extraídas possuem nomes baseados em “section.pdf” com um número sequencial adicionado a elas.

seção ls*.pdf

usando ls para listar os arquivos PDF numerados

Se você deseja extrair um intervalo de páginas e armazená-lo em um único PDF, use um comando deste formulário. Observe que não incluímos a --split-pagesopção. Efetivamente, o que estamos fazendo aqui é uma mesclagem de PDF, mas estamos apenas “mesclando” páginas de um arquivo de origem.

qpdf --empty --pages large.pdf 8-13 -- capítulo2.pdf

Extrair um intervalo de páginas de um arquivo PDF e armazená-las em um novo arquivo PDF

Isso cria um PDF único de várias páginas chamado “chapter2.pdf”.

Rotação de páginas

Para girar uma página, criamos um novo PDF igual ao PDF de entrada com a página especificada girada.

Recomendado:  Então você acabou de comprar um Google Home. O que agora?

Usamos a --rotateopção para fazer isso. Os +90meios giram a página 90 graus no sentido horário. Você pode girar uma página 90, 180 ou 270 graus. Você também pode especificar a rotação em graus no sentido anti-horário, usando um número negativo, mas há pouca necessidade de fazer isso. Uma rotação de -90 é igual a uma rotação de +270.

O número separado da rotação por dois pontos ” :” é o número da página que você deseja girar. Esta poderia ser uma lista de números de páginas e intervalos de páginas, mas estamos apenas girando a primeira página. Para girar todas as páginas, use um intervalo de páginas de 1-z.

qpdf --rotate=+90:1 resumo.pdf girado1.pdf

Girando a primeira página de um PDF

A primeira página foi girada para nós.

Um arquivo PDF com a primeira página girada 90 graus no sentido horário

Criptografando e Descriptografando

Os documentos PDF podem ser criptografados para que exijam uma senha para abri-los. Essa senha é chamada de senha do usuário. Há outra senha necessária para alterar as configurações de segurança e outras configurações de permissão de um PDF. É chamada de senha do proprietário.

Para criptografar um PDF precisamos usar a --encryptopção e fornecer ambas as senhas. A senha do usuário vem primeiro na linha de comando.

Também especificamos a força da criptografia a ser usada. Você só precisa passar da criptografia de 256 bits para 128 bits se quiser oferecer suporte a visualizadores de arquivos PDF muito antigos. Sugerimos que você opte pela criptografia de 256 bits .

Vamos criar uma versão criptografada do “summary.pdf” chamada “secret.pdf”.

qpdf --encrypt hen.rat.squid goose.goat.gibbon 256 -- summary.pdf secret.pdf

Criando um PDF criptografado

Quando tentamos abrir o PDF, o visualizador de PDF solicita uma senha. Inserir a senha do usuário autoriza o visualizador a abrir o arquivo.

Um visualizador de PDF solicitando a senha para abrir um arquivo PDF criptografado

Lembre-se de que isso qpdfnão altera o PDF existente. Ele cria um novo com as alterações que solicitamos. Portanto, se você criar um PDF criptografado, ainda terá a versão original não criptografada. Dependendo das circunstâncias, você pode excluir o PDF original ou armazená-lo com segurança.

Para descriptografar um arquivo, use a --decryptopção. Obviamente, você deve saber a senha do proprietário para que isso funcione. Precisamos usar a --passwordopção de identificar a senha.

qpdf --decrypt --password=goose.goat.gibbon secret.pdf desbloqueado.pdf

Criando um PDF descriptografado a partir de um PDF criptografado

O “unlocked.pdf” pode ser aberto sem senha.

qpdf é uma excelente ferramenta

Estamos profundamente impressionados com qpdf. Ele fornece um conjunto de ferramentas flexível e rico em recursos para trabalhar com arquivos PDF. E é muito rápido também.

Confira a  documentação bem escrita e detalhada  para ver o quanto mais ela pode fazer.