Como converter uma página da web em um arquivo PDF ou imagens no Linux

Quer saber como você pode capturar uma página da web e salvá-la como um documento PDF ou uma imagem usando o terminal? Felizmente, o Linux tem uma infinidade de utilitários que você pode usar para automatizar a tarefa de conversão de documentos HTML em arquivos PDF e imagens.

Este artigo apresentará a você wkhtmltopdf e wkhtmltoimage, utilitários de que você precisa para tornar seu trabalho mais fácil.

Como converter HTML em PDF

Se você deseja capturar páginas da web e convertê-las em um arquivo PDF, o utilitário wkhtmltopdf o ajudará. Wkhtmltopdf é uma ferramenta de linha de comando de código aberto usada para transformar páginas da web em documentos PDF.

Como a ferramenta funciona sem interrupções dentro do terminal Linux, você não precisará de nenhum driver da web ou de uma estrutura de automação de navegador como o Selenium.

Instale wkhtmltopdf no Linux

Wkhtmltopdf não é um dos pacotes padrão que vêm pré-instalados no Linux. Você terá que instalá-lo manualmente usando o gerenciador de pacotes do seu sistema.

Para instalar wkhtmltopdf em distribuições baseadas em Ubuntu e Debian:

 sudo apt install wkhtmltopdf

Em distros baseadas em Arch como Manjaro Linux:

 sudo pacman -S wkhtmltopdf

Instalar o wkhtmltopdf em distros baseadas em RHEL, como Fedora e CentOS, também é fácil.

 sudo dnf install wkhtmltopdf

Sintaxe Básica

A sintaxe básica do comando é:

 wkhtmltopdf webpage filename

… onde página da web é o URL da página da web que você deseja converter e nome do arquivo é o nome do arquivo PDF de saída.

Para converter a página inicial do Google em um documento PDF:

 wkhtmltopdf https://google.com google.pdf

Resultado:

Ao abrir o arquivo PDF, você notará que wkhtmltopdf transformou precisamente a página da web em um documento.

O sinalizador –copies é um salva-vidas se você quiser que seu arquivo de saída tenha várias cópias da página da web. Observe que, ao imprimir várias cópias, wkhtmltopdf não gerará vários arquivos PDF, mas adicionará outras páginas a um único documento.

Para criar três cópias da página inicial do Google:

 wkhtmltopdf --copies 3 https://google.com google.pdf

O arquivo PDF de saída conterá três páginas conforme especificado no comando mencionado.

Adicione um filtro de tons de cinza à saída

Para adicionar um filtro de tons de cinza ao arquivo PDF, use o sinalizador -g ou –grayscale com o comando:

 wkhtmltopdf -g https://google.com google.pdf
wkhtmltopdf --grayscale https://google.com google.pdf

Arquivo de saída:

Alterar a orientação do PDF

Por padrão, wkhtmltopdf gera o arquivo PDF em layout vertical, ou seja, retrato. Para alterar esse comportamento padrão e capturar páginas da web em paisagem, use a sinalização –orientation com o comando:

 wkhtmltopdf --orientation landscape https://google.com google.pdf

Resultado:

Observe que a versão paisagem do documento tem uma área de espaço em branco maior em comparação com a versão retrato.

Não inclua imagens durante a conversão

Ao gerar a saída, se você não quiser que wkhtmltopdf renderize imagens presentes em uma página da web, use o sinalizador –no-images :

 wkhtmltopdf --no-images https://google.com google.pdf

Resultado:

Relacionado: Melhores ferramentas para editar um arquivo PDF em qualquer lugar

Como converter uma página da web em imagens

O utilitário wkhtmltoimage faz parte do pacote wkhtmltopdf. Se você está trabalhando em um relatório e deseja incluir imagens de um site, esta ferramenta funcionará a seu favor. O terminal Linux não só torna mais fácil para você capturar as imagens, mas também oferece uma variedade de opções que permitem personalizar sua saída.

Sintaxe Básica

Wkhtmltoimage tem uma sintaxe semelhante a wkhtmltopdf:

 wkhtmltoimage webpage filename

… onde página da web é o URL de um site e nome do arquivo é o nome da imagem de saída.

Converter uma página da web em uma imagem

Continuando com o exemplo mencionado, vamos converter a página inicial do Google em imagens.

 wkhtmltoimage https://google.com google.png

Resultado:

Você também pode especificar um formato de arquivo personalizado que deseja que a imagem de saída tenha. Wkhtmltoimage oferece suporte às seguintes extensões de arquivo:

  • JPEG / JPG
  • PNG
  • SVG

Por exemplo, se você deseja gerar uma imagem JPG, basta substituir a extensão do arquivo por JPG no comando:

 wkhtmltoimage https://google.com google.jpg

Relacionados: JPG vs. JPEG: Qual é a diferença entre esses formatos de arquivo de imagem?

Capturando páginas da web usando o terminal Linux

Você deve ter um visualizador de PDF instalado em seu sistema Linux se quiser visualizar os arquivos PDF gerados por wkhtmltopdf. Embora a maioria das distribuições do Linux venha com um editor de PDF pré-instalado, você pode escolher e instalar manualmente um editor de PDF que atenda às suas necessidades.