Problema com acentos ao usar o ImageMagick ou Ghostscript para converter PDF para Image

1

Estou com um problema ao converter PDF para Imagens usando o ImageMagick ou o Ghostscript. Todos os caracteres acentuados desaparecem da imagem convertida. Eu encontrei algumas pessoas com o mesmo problema e, aparentemente, atualizando o pacote imagemagick e o ghostcript consertaram, mas não para mim.

Estou usando este arquivo PDF em todos os testes que fiz: link

Eu tenho um servidor LTS do Ubuntu 14.04.2 no Azure, onde preciso que o ImageMagick funcione. Dos repositórios oficiais, tenho o ImageMagick 6.7.7 e o Ghostscript 9.10. Mais tarde, tentei atualizá-los para corrigir meu problema e agora também tenho o ImageMagick 6.8.9-10 em execução na pasta /opt/imagemagick-6.8 e adicionei o repositório 15.04 do Ubuntu para instalar o Ghostscript 9.15 diretamente no apt-get. Nenhum deles resolveu o problema para mim.

Aqui estão minhas tentativas recentes no servidor Ubuntu 14.04:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:    14.04
Codename:   trusty

$ /opt/imagemagick-6.8/bin/convert -version
Version: ImageMagick 6.8.9-10 Q16 x86_64 2015-07-30 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: jng jpeg png x xml zlib

$ /opt/imagemagick-6.8/bin/convert -list configure |grep DELEGATES
DELEGATES      mpeg jng jpeg png ps x xml zlib

$ /opt/imagemagick-6.8/bin/convert error-with-accents.pdf -verbose -alpha off -resample 150 -density 150 -quality '80' im-test.jpg
   **** Warning: considering '0000000000 XXXXX n' as a free entry.

   **** This file had errors that were repaired or ignored.
   **** The file was produced by: 
   **** >>>> Mac OS X 10.10.4 Quartz PDFContext <<<<
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

error-with-accents.pdf=>im-test.jpg PDF 595x794=>1240x1654 1240x1654+0+0 16-bit sRGB 172KB 0.440u 0:00.240

$ gs -v
GPL Ghostscript 9.15 (2014-09-22)
Copyright (C) 2014 Artifex Software, Inc.  All rights reserved.

$ gs -dBATCH -dNOPAUSE -sDEVICE=jpeg -sOutputFile=gs-test.jpg error-with-accents.pdf 
GPL Ghostscript 9.15 (2014-09-22)
Copyright (C) 2014 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
   **** Warning: considering '0000000000 XXXXX n' as a free entry.
Processing pages 1 through 1.
Page 1

   **** This file had errors that were repaired or ignored.
   **** The file was produced by: 
   **** >>>> Mac OS X 10.10.4 Quartz PDFContext <<<<
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

$ convert -version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

$ convert -list configure |grep DELEGATES
DELEGATES     bzlib djvu fftw fontconfig freetype jbig jpeg jng jp2 lcms2 lqr lzma openexr pango png rsvg tiff x11 xml wmf zlib

$ convert error-with-accents.pdf -verbose -alpha off -resample 150 -density 150 -quality '80' im-test-6.7.7.jpg
   **** Warning: considering '0000000000 XXXXX n' as a free entry.

   **** This file had errors that were repaired or ignored.
   **** The file was produced by: 
   **** >>>> Mac OS X 10.10.4 Quartz PDFContext <<<<
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

error-with-accents.pdf=>im-test-6.7.7.jpg PDF 595x794=>1240x1654 1240x1654+0+0 16-bit DirectClass 160KB 0.490u 0:00.279

Tudo com os mesmos resultados: link
link
link

Eu posso executar o Ghostscript e o ImageMagick corretamente em um Mac OS. E, de acordo com este post , as versões I tem no Ubuntu deve funcionar. Então, estou pensando que é algo relacionado a fontes FreeType. Que eu não sei nada sobre como consertar isso. Alguma ajuda?

    
por Vitor Franchi 30.07.2015 / 21:07

2 respostas

1

Agradecemos a Kurt Pfeifle no Stackoverflow para a resposta.

O problema foi a versão do Ghostscript instalada no servidor. Como a versão mais recente do Ghostscript no repositório malicioso do Ubuntu é 9.15, eu fiz o download do pacote binário oficial para linux x64 no site da Ghostscript.

Então eu substituí o /usr/bin/gs binary pelo que está dentro do pacote e tudo funcionou corretamente. Não há mais problemas com acentos.

    
por Vitor Franchi 14.08.2015 / 17:21
1

Eu tive o mesmo tipo de problemas ao tentar imprimir um pdf com acentos. Cheguei à conclusão de que era um problema de ghostscript, já que o CUPS estava usando-o enquanto rasterizava o pdf através do filtro gstoraster . Eu também percebi que um binário recente do ghostscript no modo standalone estava fazendo um ótimo trabalho.

MAS eu não aconselharia a substituição de /usr/bin/gs porque poderia quebrar algumas dependências (CUPS por exemplo)!

Em vez disso, sugiro que você dê uma olhada na ferramenta pdfimages de poppler-utils

    
por Davy 10.11.2015 / 10:35