Gerando PDFs com (ou sem) o Ghostscript

Um tutorial para criação de um gerador de arquivos PDF em Windows, baseado em ferramentas gratuitas.

Márcio d'Ávila, 05 de maio de 2004. Revisão 27, 13 de setembro de 2014.
Categoria: Texto - PDF

O formato de documento universal da Adobe, o Portable Document Format (PDF), é quase uma unanimidade quando o assunto é documento independente de plataforma e com visualização e impressão precisas. O programa Adobe Reader, para visualização e impressão de PDF, é gratuito e está disponível na maioria das plataformas, incluindo Windows, Unix, Linux, MacOS e computadores de mão. Existem muitos programas, ferramentas de software e bibliotecas de programação para geração, manipulação e conversão de documentos em formato PDF, com preços que vão do gratuito aos milhares de dólares.

Mas o que a maioria dos usuários gostaria ou precisa é de um meio simples de converter documentos para PDF. A Adobe oferece o produto Adobe Acrobat, que inclui uma “impressora virtual” capaz de gerar o PDF a partir de qualquer programa com capacidade de imprimir. É uma solução muito simples e o produto ainda agrega outras ferramentas de edição, controle, segurança e produtividade para arquivos PDF. Mas o custo desse produto é geralmente proibitivo para quem quer apenas salvar documentos em formato PDF eventualmente.

Existem, porém, soluções usando softwares gratuitos e baseadas no mesmo princípio de gerar documentos PDF através de um mapeamento de impressora, ou seja, pela função de imprimir de qualquer programa. São fáceis de usar e o resultado é igualmente eficaz.

As ferramentas gratuitas necessárias para esta solução estão disponíveis para várias plataformas, mas vamos apresentar aqui os passos para instalação e configuração em Windows.

1. Para os apressados

Quero uma solução rápida e simples para gerar PDF no Windows

  1. Baixe e instale o Download doPDF 7.x (suporta 32 e 64 bits; doPDF mirrors).
  2. Ajuste o tamanho de página padrão para o formato A4 brasileiro. Vá em Painel de Controle > Impressoras > selecione a impressora doPDF > menu de contexto (botão direito do mouse), opção (Propriedades da impressora) Preferências de Impressão > aba Página > em Tamanho de Página Pré-definido, selecione A4 (por padrão vem Letter) > OK.
  3. Em cada documento que deseja converter para PDF, imprima escolhendo (configurando) a impressora "doPDF".

Quero uma solução poderosa para gerar PDF no Windows (uso pessoal e empresas até 10 usuários)

  1. Baixe e instale o Download Bullzip Free PDF Printer (suporta 32 e 64 bits).
  2. O assistente de instalação vai baixar e instalar o Ghostscript Lite e outras dependências.
  3. Confirme o ajuste correto do tamanho de página padrão para o formato A4 brasileiro. Vá em Painel de Controle > Impressoras > selecione a impressora PDF > menu de contexto (botão direito do mouse), opção Propriedades > aba Geral > botão Preferências de Impressão > botão Avançado > tópico Papel/saída > no item Tamanho do Papel, selecione A4 > OK.
  4. Em cada documento que deseja converter para PDF, imprima escolhendo (configurando) a impressora "Bullzip PDF Printer".

Quero uma solução versátil e livre para gerar PDF no Windows

  1. Baixe e instale o Download Ghostscript 9.x GPL Release (escolha 32 ou 64 bits, de acordo com seu Windows) - (também em SF.net).
  2. Baixe e instale o Download FreePDF 4.14 (suporta 32 e 64 bits; FreePDF mirrors).
  3. Confirme o ajuste correto do tamanho de página padrão para o formato A4 brasileiro. Vá em Painel de Controle > Impressoras > selecione a impressora PDF > menu de contexto (botão direito do mouse), opção Propriedades > aba Geral > botão Preferências de Impressão > botão Avançado > tópico Papel/saída > no item Tamanho do Papel, selecione A4 > OK.
  4. Em cada documento que deseja converter para PDF, imprima escolhendo (configurando) a impressora "FreePDF".

Quero gerar PDF diretamente a partir de documentos de escritório

2. Impressoras PDF comparadas

Para o sistema operacional Windows, avaliei seis alternativas de ferramentas gratuitas para gerar PDF através de impressão. Com base nas características e recursos que julguei relevantes, elaborei o quadro comparativo a seguir.

CutePDF Writer doPDF PrimoPDF PDF Printer FreePDF PDF Creator
Requisitos
Licença freeware freeware código aberto freeware freeware software livre
Uso comercial S S S (exceto rede) S (10 usuários) S S
Requer Ghostscript S N N (só DLL) S S S
Inclui conversor PS-PDF N (baixa GSLite 8.15) S (próprio) S (gsdll32.dll) N (baixa GSLite 9.0) N S (GS 9.10)
Download 1,9 + 5 MB (GS 8.15) 1,2 MB 7,2 MB 6,7 + 9 + 2 + 1 MB (GSlite 9.0) 2,4 + 12,7 MB (GS 9.07) 26,5 MB
Facilidades Disponíveis
Abrir PDF gerado N S S S S S
Criptografia N N S S S S
Marca d'água N N N S (texto e PDF) S (PDF, requer PDFtk) S (texto)
Concatenar arquivos N N S (acresce arquivo) S (mescla arquivo) S (fila de impressão) S (fila de impressão)
Enviar PDF por e-mail N N S N S S
Compatibilidade
Versões PDF/Acrobat 1.4/5.x 1.4/5.x 1.2/3.x a 1.5/6.x 1.1/2.x a 1.5/6.x 1.2/3.x a 1.4/5.x 1.2/3.x a 1.5/6.x
PDF/A-1b (ISO 19005-1) N N N S N S
Windows 32 e 64 bits S S S S S S
Windows 7 e 8 S S S S S S
Interface
Português (Brasil) S S N S S (exceto instalador) S
Ajuda/Manual N (só FAQ inglês) S (inglês) S (inglês, web) S (inglês, web) S (inglês) S (inglês)
Diálogo configurável N N S S S N
Automação
Salvar automático N N N S S S
Ações Pré e Pós N N N N S S
Fatos
Prós ⇑ Interface trivial. Instalação pequena. Opções e perfis. Opções ao gerar arquivo. Fácil, muitos recursos. Livre, PDF/A, Architect.
Contras ⇓ Nenhuma opção, adware. Recursos limitados. Em inglês, adware. Uso corporativo limitado. Falta PDF 1.5 e PDF/A. Interface pobre, adware.
Versão avaliada 3.0 8.0.915 5.1.0.2 10.8.0.2282 4.14 1.7.3
Lançamento 2012-10-30 2014-08-05 2011-03-17 2014-09-03 2014-03-19 2014-04-25
Site CutePDF.com (inglês) doPDF.com (inglês) PrimoPDF.com (ing.) bullzip.com (inglês) FreePDFXP.de (inglês) pdfforge.org (inglês)
Produtor Acro Software Softland Nitro PDF Bullzip / bioPDF Stefan Heinz pdfforge.org

Todos os utilitários (exceto doPDF) que requerem Ghostscript funcionaram, na versão testada, com GPL Ghostscript versões 8.64 a 9.14.

Nota: Softwares adicionais utilizados pelos utilitários acima:

Uma conclusão da avaliação e a consequente escolha de uma opção depende do foco de interesse pessoal, ou seja, do peso que cada característica tem para as necessidades específicas de cada um. Quem quer uma interface à prova de leigos pode preferir o CutePDF. Quem busca uma instalação e uso simplificados pode escolher o doPDF. Quem usa características diferentes a cada PDF gerado deve preferir o PDF Printer. Quem prioriza software livre ou compatibilidade com o padrão PDF/A optará pelo PDF Creator. E por aí vai.

Na seção inicial "para os apressados" deste artigo, o doPDF é a primeira opção, por oferecer interface bem simples e não requerer nenhum software adicional. A alternativa seguinte é o Bullzip PDF, bem completo em opções ao gerar PDF, mas tem a limitação de licenciamento gratuito só para uso pessoal e empresas até 10 usuários. O Bullzip PDF requer o Ghostscript, mas seu instalador oferece opção de baixar e instalar automaticamente as dependências. Por fim, a opção do Ghostscript + FreePDF oferece uma gama de opções ao gerar PDF quase tão completa quanto o Bullzip PDF, e é gratuito sem limitações inclusive para empresas. O FreePDF requer o Ghostscript previamente instalado à parte. Não indiquei CutePDF, PrimoPDF ou PDF Creator por os três incluírem adware (opção de instalar algum software patrocinado por propaganda) na instalação.

2.1. Adware - Ameaças potenciais à privacidade

Aviso: Os utilitários CutePDF Writer (gratuito) PrimoPDF (aberto) e PDF Creator (livre) incluem adware — software suportado por publicidade, que inclui funcionalidade visando distribuir/veicular propaganda comercial ou material patrocinado — em seus respectivos instaladores. Adware não é necessariamente software nocivo ou malicioso em si, mas pode ser considerado software potencialmente indesejado e ameaça à privacidade do usuário.

PrimoPDF inclui a biblioteca OpenCandy. Centros de segurança como os da Microsoft e da McAfee classificam OpenCandy como adware, mas as páginas de perguntas-e-respostas (FAQ) do fabricante alegam que não.

PDF Creator não inclui mais a barra de ferramentas patrocinada PDFForge Toolbar, mas ainda há certa controvérsia sobre meios de patrocínio do projeto.

2.2. Galeria de imagens

Miniatura
CutePDF: gerar
Miniatura
doPDF: gerar
Miniatura
PDF Printer: gerar
Miniatura
PDF Printer: opções
Miniatura
FreePDF: gerar
Miniatura
FreePDF: opções
Miniatura
FreePDF: opções PDF
Miniatura
FreePDF: monitor
Miniatura
PDF Creator: gerar
Miniatura
PDF Creator: opções
Miniatura
Creator: opções PDF
Miniatura
PDF Creator: monitor

2.3. Outras impressoras virtuais PDF

E ainda existem muitas outras opções gratuitas, para Windows. Veja a seguir algumas referências adicionais:

3. Gerar PDF a partir de LibreOffice ou Microsoft Office

3.1. Suporte nativo a PDF no LibreOffice/OpenOffice

Quando a exportação para PDF envolve documentos de escritório, merece ser citada uma alternativa, mais integrada e com mais recursos, ao uso de impressoras PDF. O pacote de aplicativos de LibreOffice, software livre.

O LibreOffice traz recurso nativo para Exportar para PDF (menu Arquivo) documentos dos seus aplicativos de texto (Writer), planilha (Calc), apresentação (Impress) e Desenho (Draw), preservando no PDF elementos como marcadores de tópicos e notas de comentário do documento, inclusive com suporte a PDF/A-1.

O LibreOffice ainda é capaz de abrir documentos PDF, importando como documento de editoração gráfica no Draw.

Miniatura: LibreOffice Exportar PDF
LibreOffice.org: Exportar PDF
Miniatura: LibreOffice Abrir PDF
LibreOffice: Abrir PDF

3.2. Suporte nativo a PDF no Microsoft Office 2007 ou superior

Se você utiliza o pacote comercial de aplicativos Microsoft Office 2007, assegure-se de instalar o Service Pack 2 (SP2) do pacote de aplicativos 2007 Microsoft Office. Esta atualização, específica para a versão 2007 do pacote, inclui suporte interno a Salvar como PDF documentos no Word, Excel e PowerPoint. Inicialmente, este recurso fora oferecido com um suplemento gratuito para Office 2007, baixado e instalado separadamente, tendo sido depois incorporado no 2007 Service Pack 2. O Microsoft Office 2010 e superior também incorpora recurso nativo para criar PDF.

O Salvar como PDF do MS Office inclui opção de compatibilidade com ISO 19005-1 (PDF/A).

Miniatura: Microsoft Word 2007 Salvar como PDF
Microsoft Office 2007 - Word: Salvar como PDF
Miniatura: Microsoft Office 2007, PDF Opções, ISO 19005-1
MS Office 2007: Opções PDF/A
Miniatura: Microsoft Word 2010 Arquivo, Salvar, Criar Documento PDF
Microsoft Office 2010 - Word: Salvar como PDF

Para saber mais, veja o artigo da base de conhecimento de Suporte Microsoft: KB 953195 - Descrição do Service Pack 2 (SP2) do pacote de aplicativos 2007 Microsoft Office e do Microsoft Office Language Pack 2007 SP2, revisão 4.2, 12 de abril de 2010.

Versões anteriores do pacote de escritório Microsoft Office (2003 ou menos) não oferecem nenhum suporte nativo a salvar como PDF. Para estes programas, utilize uma impressora PDF como indicado anteriormente neste artigo, ou migre para o BrOffice.org.

Nas seções seguintes, voltamos às impressoras virtuais PDF, detalhando a instalação e uso do FreePDF com Ghostscript.

4. Opção Ghostscript + FreePDF: detalhamento

A seguir, apresento detalhes da instalação do Ghostscript e da impressora virtual FreePDF.

Para instalar seu gerador de arquivos PDF em Windows através de impressão, você precisará de 3 componentes:

Os três componentes devem ser configurados para trabalhar integrados em sequência, de forma a formar um gerador de arquivos PDF através do recurso de impressão do Windows, da seguinte forma:

  1. Inicialmente, você instala, cria e configura um dispositivo de impressão capaz de gerar um arquivo PDF, que ficará disponível como uma impressora do Windows.
  2. Você aciona o recurso de imprimir em qualquer programa no Windows a partir do qual queira gerar um documento PDF com o conteúdo atual, selecionando como destino a "impressora PDF" criada.
  3. O driver de impressora PostScript entra em ação e gera a saída em formato PostScript.
  4. O FreePDF, agindo como porta de saída da impressão, redireciona o conteúdo PostScript gerado para ser processado pelo Ghostscript, fornecendo instruções para converter este conteúdo em formato PDF. O FreePDF é responsável também por solicitar um nome de arquivo ou outro destino para o PDF resultante.
  5. O Ghostscript recebe a saída da impressão PostScript e a converte em PDF.

Assim descrito, todo esse processo pode parecer um pouco complicado, mas depois de pronto, será na verdade muito simples. Apresentamos aqui um tutorial para a etapa (1), de instalar e configurar o gerador de PDF. Daí em diante, toda vez que você quiser gerar um arquivo PDF a partir de um documento ou informação em uso, bastará escolher "Imprimir" no programa em questão. E os passos (3) a (5) ocorrerão de forma imediata, automática e transparente.

5. Obter e instalar o Ghostscript

Basta executar o instalador Windows e seguir os passos do assistente. O programa instalador tem nome no formato gsXYZw32.exe, para versão X.YZ. No local de instalação no Windows (normalmente C:\Arquivos de programas\gs\), é criada uma pasta gsX.YZ\, de acordo com a versão do Ghostscript, e a pasta fonts\.

Teste OK: O FreePDF 4.06 (2010-11-20) foi testado com sucesso com o Ghostscript GPL 9.06 (2012-08-08), 9.04 (2011-08-11), 9.02 (2011-04-12) e 9.01 (2011-03-21) 32- e 64-bits, 9.00 (2010-09-18) 32 bits, 8.71 (2010-03-30) 32- e 64-bits e 8.70 (2009-08-01) 32 bits. Veja adiante ressalva para Ghostscript 64 bits.

Atenção: Versões mais antigas do FreePDF podem não ser compatíveis com versões mais recentes de Ghostscript. Em especial: (1) O FreePDF XP 3.07 (2006-05-19) não funcionava com GPL Ghostscript 8.54, resultando no seguinte erro: “GhostScript Error 1. Erro, nenhum arquivo PDF produzido! (False)”. (2) O FreePDF 2.11 para Windows 9x (2004-01-11) só suporta até AFPL Ghostscript 8.14.

Até a versão 8.54 (maio/2006), o Ghostscript era distribuído também pela licença mais restritiva Aladdin Free Public License (AFPL), para uso pessoal gratuito. Veja também informações sobre licenciamento comercial do Ghostscript pela Artiflex.

6. Obter e instalar o FreePDF

Na versão 3.x, o utilitário se chamava FreePDF XP. Com a chegada do Windows Vista, o nome causava dúvidas entre os usuários quanto a ser compatível com o novo sistema operacional. Assim, na versão 4.x, o "XP" foi retirado do nome do utilitário, passando a ser apenas "FreePDF".

O instalador para Windows do FreePDF é simples e eficaz. Requer apenas o Ghostscript previamente instalado, e realiza automaticamente as seguintes tarefas:

Basta executar o instalador, pressionar o botão "Setup" na janela que se abre e aguardar. Eis a exibição da janela quando a instalação está concluída:

FreePDF Setup: instalação concluída

A impressora instalada nas versões 3.x se chamava "FreePDF XP". A partir da versão 4.00, se não existe impressora de instalação anterior, ela é criada com o nome "FreePDF". Caso contrário, é preservada a impressora "FreePDF XP" já existente. Para usuários da versão 3.x, recomenda-se excluir (no Painel de Controle) a impressora "FreePDF XP" existente antes de instalar o FreePDF 4.x, para que a impressora seja criada com o novo nome.

6.1. Executável do Ghostscript 64 bits

Com o Ghostscript 64 bits instalado, o FreePDF pode não detectar o executável correto do Ghostscript, detectando a DLL ao invés do executável (EXE). Se isso acontecer, pode ocorrer o seguinte erro ao se tentar imprimir:

Fatal Exception in FreePDF XP.
Error 5 (Invalid procedure call or argument)
Error in Module FreePDF1.ShellAndWaitMitBalken.

Para verificar e corrigir o caminho do Ghostscript, siga os seguintes passos:

  1. Execute o programa FreePDF, pelo menu iniciar do Windows.
  2. Escolha o menu Editar & Opções.
  3. Escolha a opção (em forma de link) "Run Admin Config".
  4. Em "Localização das pastas", verifique o que está preenchido em "Caminho do Ghostscript".
  5. Para Ghostscript 64 bits versão 9.xx, o caminho do executável correto deve ser C:\Program Files\gs\gs9.xx\bin\gswin64c.exe. Para o Ghostscript 32 bits, o executável deve ser gswin32c.exe.
  6. Acione o botão "Salvar" e, em seguida, feche a janela de opções e o programa.

6.2. Tamanho de papel padrão: A4

Após concluída a instalação, é recomendável confirmar se o juste do tamanho de página padrão ficou corretamente definido como o formato de papel A4 brasileiro, e não o formato Carta (Letter) comum apenas em Estados Unidos e Inglaterra. Para isto, siga os seguintes passos:

  1. Vá no menu Iniciar ou no em Painel de Controle, selecione o item "Impressoras" (no Windows 7, "Dispositivos e Impressoras").
  2. Selecione a impressora PDF que acabou de ser instalada ("FreePDF").
  3. Acione o menu de contexto (botão direito do mouse sobre o ícone da impressora PDF) e selecione a opção "Propriedades" (no Windows 7, "Propriedades da impressora", ou diretamente "Preferências de Impressão" e pule o passo seguinte).
  4. Na aba "Geral" da janela que se abre, selecione o botão "Preferências de Impressão".
  5. Na nova janela de diálogo aberta, selecione o botão "Avançado" (este botão existe em ambas as abas "Layout" e "Papel/Qualidade").
  6. Na terceira janela de diálogo agora aberta, no primeiro tópico "Papel/saída" da estrutura hierárquica, vá ao item Tamanho do Papel e selecione "A4" (se já não for a opção selecionada).
  7. Dê "OK" nas três janelas de diálogo abertas.
Detalhe: Tamanho do Papel A4
Preferências de Impressão: Tamanho do Papel A4

7. Gerar seu primeiro PDF

Agora você está pronto para gerar quantos arquivos PDF desejar, através do comando "Imprimir" de qualquer programa no Windows. Toda vez que desejar gerar um arquivo PDF a partir de um programa, basta:

  1. Configurar a impressora de destino para "FreePDF" (normalmente, isto se faz através da opção de menu Arquivo > Configurar página > Impressora, ou da opção Arquivo > Imprimir...);
  2. Imprimir, da mesma maneira que você faria para uma impressora convencional.

Configurar página: impressora FreePDF XP

Dependendo do programa, você pode também ter a opção de selecionar a impressora durante o comando de Imprimir.

Imprimir: impressora FreePDF XP

Durante a impressão, surgirá a janela do assistente FreePDF, solicitando o nome e destino do arquivo PDF. Esta janela permite definir o seguinte:

Diálogo do FreePDF: nome, opções e destino do PDF a gerar

Exemplo: Este próprio tutorial impresso como PDF (551 KB, perfil eBook, 10 páginas).

7.1. Problema de aceleração por hardware no Firefox 4

De acordo com um comentário no artigo do blog sobre o anúncio do PDFCreator 1.2.1, existe um problema com a opção de aceleração por hardware ativada no navegador web Mozilla Firefox versão 4, que afeta as impressoras virtuais PDF. Sintomas facilmente perceptíveis são que o arquivo PDF gerado fica bem maior e o texto não fica editável.

Este problema está confirmado no site de suporte do Mozilla Firefox e eu também o constatei.

Para solucionar o problema, atualize para Firefox 5, pois a nova versão do navegador imprime PDF normalmente, mesmo com a opção de aceleração por hardware ativa.

Alternativamente, se por algum motivo não foi possível atualizar imediatamente o navegador, desative a aceleração por hardware no Firefox 4 conforme a seguir:

  1. Menu Firefox > Opções.
  2. Painel "Avançado".
  3. Aba "Geral".
  4. No grupo "Navegação", desmarque a opção "Quando disponível, usar aceleração por hardware".
  5. Dê "OK".
  6. Reinicie o Firefox.

8. Outras Referências


Firefox - A web de volta
Creative Commons License

© 2003-2014, Márcio d'Ávila, mhavila.com.br, direitos reservados. O texto e código-fonte apresentados podem ser referenciados, distribuídos e utilizados, desde que expressamente citada esta fonte e o crédito do(s) autor(es). A informação aqui apresentada, apesar de todo o esforço para garantir sua precisão e correção, é oferecida "como está", sem quaisquer garantias explícitas ou implícitas decorrentes de sua utilização ou suas consequências diretas e indiretas.