Проблема с акцентами при использовании ImageMagick или Ghostscript для преобразования PDF в изображение

У меня возникла проблема при преобразовании PDF в изображения с использованием ImageMagick или Ghostscript. Все акцентированные символы исчезают с преобразованного изображения. Я обнаружил, что у пары людей возникла та же проблема, и, видимо, обновление пакета imagemagick и ghostcript устранило ее, но не для меня.

Я использую этот файл PDF для каждого теста, который я провел: https://www.dropbox.com/s/3gso0sw1e1n8f9r/error-with-accents.pdf?dl=0

У меня есть сервер Ubuntu 14.04.2 LTS в Azure, где мне нужен ImageMagick для работы. Из официальных репозиториев у меня есть ImageMagick 6.7.7 и Ghostscript 9.10. Позже я попытался обновить их, чтобы исправить мою проблему, и теперь у меня также работает ImageMagick 6.8.9-10 /opt/imagemagick-6.8 папку, и я добавил репозиторий Ubuntu 15.04, чтобы я мог установить Ghostscript 9.15 непосредственно через apt-get. Ни один из них не решил проблему для меня.

Вот мои последние попытки на сервере 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

Все с одинаковыми результатами:
https://www.dropbox.com/s/eob6y234x37s864/gs-test.jpg?dl=0
https://www.dropbox.com/s/96z1pkksdn1dpr4/im-test.jpg?dl=0
https://www.dropbox.com/s/dev0kbza2c8v2gf/im-test-6.7.7.jpg?dl=0

Я могу правильно запустить Ghostscript и ImageMagick на Mac OS. И, согласно этому посту, версии, которые у меня есть на Ubuntu, должны работать. Так что я думаю, что это связано со шрифтами FreeType. Что я ничего не знаю о том, как это исправить. Любая помощь?

2 ответа

Решение

Спасибо Курту Пфайфлю на Stackoverflow за ответ.

Проблема заключалась в версии Ghostscript, установленной на сервере. Поскольку последняя версия Ghostscript в репозитории Ubuntu wily - 9.15, я скачал официальный бинарный пакет для linux x64 на сайте Ghostscript.

Тогда я подставил /usr/bin/gs бинарный с одним внутри пакета и все работало правильно. Больше никаких проблем с акцентами.

У меня были такие же проблемы при попытке распечатать PDF с акцентом. Я пришел к выводу, что это была проблема с ghostscript, так как CUPS использовал ее, растеризируя PDF через gstoraster фильтр. Я также понял, что недавний двоичный файл ghostscript в автономном режиме отлично справляется со своей задачей.

НО я бы не советовал подменяться /usr/bin/gs потому что это может нарушить некоторые зависимости (например, CUPS)!

Вместо этого я предлагаю вам взглянуть на инструмент pdfimages от poppler-utils

Другие вопросы по тегам