Início > Programação > Conversão de Arquivos PDF em Imagens com o Ghostscript

Conversão de Arquivos PDF em Imagens com o Ghostscript

O Ghostscript é uma engine de renderização e interpretação de arquivos PDF. Ele converte cada página de um arquivo PDF em um arquivo de imagem. Mostraremos como utilizá-lo para converter arquivos PDF em imagens JPEG de forma simples. Vamos analisar a linha de comando abaixo:

gswin64c -dNOPAUSE -dBATCH -sDEVICE=jpeg -r100
-sOutputFile=C://conversao\_100\%0000d.jpeg C://teste\arquivo.pdf
  • Vamos entender o que cada um desses parâmetros faz:
  • gswin64c: comando de execução do Ghostscript. O comando depende do Sistema Operacional e da arquitetura da máquina. Nesse caso, a compilação roda em Windows 64 bits
  • dNOPAUSE: não haverá pausa ao final da conversão de uma página
  • dBATCH: a execução do script é interrompida ao final do arquivo
  • dDEVICE: indica o tipo de imagem que será gerada (principalmente jpeg e png)
  • r{n}: resolução da imagem. Ex: -r50 significa redução à 50% do original.
  • sOutputFile: nome do arquivo gerado. O pattern “%0000d” indica que o nome de cada imagem gerada será o número da página convertida

Isso é o mínimo de parametrização que precisamos para fazer a conversão de um PDF em imagens de forma “agradável”. Adicionei todas as referências que utilizei inclusive com a explicação de todos os parâmetros no final do artigo. Após rodar o comando “gswin64c” ou o equivalente da arquitetura, a saída abaixo é exibida:

[GhostScript] GPL Ghostscript 9.10 (2013-08-30)
Copyright (C) 2013 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 6.
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6

O arquivo PDF que utilizei tinha seis páginas. Para cada uma delas, foi gerado um arquivo na resolução 100 dpi:

C:\\conversao\_100\1.jpeg
C:\\conversao\_100\2.jpeg
C:\\conversao\_100\3.jpeg
C:\\conversao\_100\4.jpeg
C:\\conversao\_100\5.jpeg
C:\\conversao\_100\6.jpeg

Otimização de Imagens e Melhoria de Performance

Se a qualidade das imagens não estiver boa, é possível fazer alguns tunnings

  • dGraphicsAlphaBits: antialiasing (diminuição do efeito “escada” ou serrilhado) de gráficos. Os valores permitidos são 1, 2 ou 4.
  • dTextAlphaBits: antialiasing (diminuição do efeito “escada” ou serrilhado) de textos. Os valores permitidos são 1, 2 ou 4.
  • dDOINTERPOLATE: faz a interpolação de imagens, o que aumenta a qualidade de imagens redimensionadas.

O problema desses tunnings é a perda de performance – é possível que a conversão demore o dobro do tempo. Nesse caso, sugiro que você faça um uso melhor do seu processador. O parâmetro dNumRenderingThreads permite que o processo de conversão seja separado para execução em diferentes cores no processador. O ideal é que o parâmetro seja ajustado para a quantidade de cores disponível. É necessário encontrar a melhor relação qualidade x velocidade de conversão para a sua instalação.

Referências

http://pages.cs.wisc.edu/~ghost/doc/AFPL/8.00/Devices.htm
http://www.ghostscript.com/doc/current/Devices.htm
http://www.linuxjournal.com/content/tech-tip-using-ghostscript-convert-and-combine-files
http://www.ghostscript.com/doc/current/Use.htm#Rendering_parameters
http://www.ghostscript.com/doc/current/Use.htm#Improving_performance
http://www.ghostscript.com/doc/current/Language.htm
http://www.ghostscript.com/doc/current/Use.htm

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: