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.
Imprimir várias cópias da página da web
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:
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
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.