Impressão para PDF no Ubuntu – correção de problemas

Post movido para: http://blog.guilhermegarnier.com/2008/04/04/impressao-para-pdf-no-ubuntu-correcao-de-problemas/

Alguns programas no Ubuntu permitem a impressão para o formato PDF, como o Evince e o Gedit. Para ter essa opção disponível em qualquer programa, basta instalar uma impressora virtual de PDF, usando o pacote cups-pdf. Se ele não estiver instalado na sua distribuição, instale-o com o comando sudo apt-get install cups-pdf.

Para criar uma impressora de PDF, acesse a opção System -> Administration -> Printing e depois “New Printer”. Depois selecione “Print into PDF file” como tipo de impressora, e na tela seguinte, “Generic” como fabricante e “PDF file generator” como modelo. Finalmente, dê um nome para a impressora. Feito isso, a impressora de PDF ficará disponível para qualquer programa que tenha a opção de impressão. Os PDFs serão criados no diretório PDF dentro do home do usuário.

O processo acima já foi descrito diversas vezes, em vários blogs e sites sobre Linux. Porém, decidi escrever sobre isso porque a maioria dos artigos pára por aí, não informando como alterar as configurações do cups-pdf e nem como resolver alguns dos problemas mais comuns.

Configurações

O arquivo de configuração do cups-pdf fica em /etc/cups/cups-pdf.conf. Neste arquivo, ficam definidos o diretório de destino dos PDFs, o diretório de spool, as regras para formação dos nomes de arquivos a partir do nome do documento impresso, configurações de segurança e permissões, o grupo de usuários que tem permissão para usar esta impressora, tipo de log, configurações do Ghostscript e outros. Se você alterar algum destes parâmetros, será necessário executar sudo /etc/init.d/cupsys restart para que as modificações tenham efeito.

Problemas

Os problemas mais comuns com o cups-pdf são:

  • se após enviar um trabalho para a impressora o arquivo correspondente não aparecer no diretório PDF dentro do seu home (ou o diretório que você tiver definido no arquivo de configuração), verifique o log (por padrão fica em /var/log/cups/cups-pdf_log). Ele pode ajudar a descobrir o que ocorreu (ex: problemas de permissão)
  • verifique se o usuário está no grupo correspondente definido no arquivo de configuração (grupo lp por padrão)
  • se você alterar o diretório de destino dos PDFs, altere também o arquivo /etc/apparmor.d/usr.sbin.cupsd, na seção /usr/lib/cups/backend/cups-pdf. Este arquivo contém as regras de segurança do AppArmor, e define os diretórios onde o cups-pdf tem permissão de escrita. Após alterá-lo, execute sudo /etc/init.d/cupsys restart
  • se o log do cups-pdf apresentar a mensagem "[ERROR] failed to set file mode for PDF file (non fatal)", execute o comando sudo aa-complain cupsd

7 Responses to “Impressão para PDF no Ubuntu – correção de problemas”


  1. 1 Adam Astor abril 6, 2008 às 9:19 pm

    Parabéns!

    Realmente muitos já escreveram sobre como imprimir em pdf, mas ainda não vi nada como este seu post, o qual fala sobre possíveis problemas, e como resolvê-los.

    Gostaria de sugerir, e ao mesmo tempo consultar: Como fazer para se atribuir um nome ao arquivo pdf, no momento em se dá o comando para a sua geração?

    A idéia é permitir ao usuário, dar o nome à imagem de impressão em pdf, evitando que o sistema atribua o nome por default, pois, caso já exista o arquivo pdf, ele destrói o arquivo existente, e atribui o mesmo nome ao arquivo recém gerado, provocando a perda do anterior.

    Um jeito de se evitar esta perda do arquivo existente, é o usuário ser obrigado a renomeá-lo antes de uma nova impressão.

    Isto pode acontecer, por exemplo, quando se quer imprimir vários extratos de banco, para meses diferenciados, o sistema dará o mesmo nome ao arquivo, destruindo os anteriores, caso o usuário esqueça de renomeá-los.

    Qual a melhor forma, e como se deve fazer para o usuário poder escolher o nome a ser dado ao arquivo pdf, no momento que ele se dá o comando?

    Parabéns pelo post.

  2. 2 LKRaider abril 6, 2008 às 11:36 pm

    Acredito que o cups-pdf vem instalado por padrão no Ubuntu, pois instalei 2 máquinas recentemente, e ambas já tem a opção de impressão em PDF.

  3. 3 Ricardo abril 7, 2008 às 8:01 am

    No Ubuntu Gutsy, e talvez em muitas outras distros, a opção de impressão em .pdf já ñ vem habilitada?
    Fiz um teste aqui e confimei isso, além tb de se ter a opção por arquivo postscript, em se selecionando impressão p/ arquivo.

  4. 4 ggarnier abril 7, 2008 às 2:34 pm

    Ricardo,

    conforme escrevi no post, essa opção de impressão para PDF existe em alguns programas específicos (já vi no Evince e no Gedit). Mas criando a impressora com o cups-pdf, ela fica disponível para qualquer programa que tenha a opção imprimir.

    Adam,

    não descobri uma maneira de perguntar ao usuário o nome do arquivo. Há um programa para Windows chamado PDF Creator (http://sourceforge.net/projects/pdfcreator/) que faz exatamente isso, mas no Linux não sei se é possível fazer algo parecido.
    O cups-pdf permite definir no arquivo de configuração as regras para formação do nome, a partir do título do documento (seção “Filename Settings” deste arquivo). É possível, por exemplo, incluir o número do job no nome do arquivo, para evitar que um arquivo que já exista com esse nome seja sobrescrito.
    Há um outro parâmetro “TitlePref” que permite passar o título por linha de comando. Só que ainda não consegui usar.

  5. 5 Luciano fevereiro 15, 2009 às 1:58 pm

    conteúdo do log:

    Sun Feb 15 13:28:54 2009 [ERROR] failed to set file mode for PDF file (non fatal) (/home/lucianno/Test_Page.pdf)

    então

    “se o log do cups-pdf apresentar a mensagem “[ERROR] failed to set file mode for PDF file (non fatal)”, execute o comando sudo aa-complain cupsd”

    …acho que era isso que faltava =],

    []’s

    Luciano

  6. 6 Hugo Barbizan fevereiro 8, 2013 às 9:32 am

    Ótima contribuição, estava com um problema relacionado e foi solucionado com seu artigo. Obrigado!


  1. 1 Impressão para PDF no Ubuntu Trackback em abril 6, 2008 às 12:05 pm

Deixe uma resposta

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




@guilhermgarnier

Erro: o Twitter não respondeu. Por favor, aguarde alguns minutos e atualize esta página.

Estatísticas

  • 58,044 hits
Linux Counter

%d blogueiros gostam disto: