98 votes

Impossible de convertir un PDF en image, en raison de l'erreur "aucune image définie".

J'ai le fichier PDF suivant : http://www.fmwconcepts.com/misc_tests/pdf_tests/test.pdf

Mais lorsque j'essaie de le convertir via :

$ convert test.pdf test.png

J'ai l'erreur suivante :

convert: no images defined `test.png' @ error/convert.c/ConvertImageCommand/3187.

J'ai les versions suivantes :

$ brew info libpng
libpng: stable 1.6.13 (bottled)

$ brew info libjpeg
jpeg: stable 8d (bottled)

$ brew info imagemagick
imagemagick: stable 6.8.9-7 (bottled), HEAD
http://www.imagemagick.org
/usr/local/Cellar/imagemagick/6.8.9-1 (1432 files, 22M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/imagemagick.rb
==> Dependencies
Build: xz , pkg-config 
Required: libtool 
Recommended: jpeg , libpng , freetype 
Optional: fontconfig , libtiff , little-cms , little-cms2 , libwmf , librsvg , liblqr , openexr , ghostscript , webp 

J'ai le journal de débogage suivant :

$ convert test.pdf test.png -debug all
2014-10-01T15:29:39+01:00 0:00.000 0.000u 6.8.9 Configure convert[58320]: utility.c/ExpandFilenames/944/Configure
  Command line: convert {test.pdf} {test.png} {-debug} {all}
2014-10-01T15:29:39+01:00 0:00.000 0.000u 6.8.9 Configure convert[58320]: configure.c/GetConfigureOptions/679/Configure
  Searching for configure file: "/usr/local/Cellar/imagemagick/6.8.9-1/share/ImageMagick-6/coder.xml"
...
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Module convert[58320]: module.c/OpenModule/1268/Module
  Searching for module "PNG" using filename "png.la"
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Module convert[58320]: module.c/GetMagickModulePath/554/Module
  Searching for coder module file "png.la" ...
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Module convert[58320]: module.c/OpenModule/1277/Module
  Opening module at path "/usr/local/Cellar/imagemagick/6.8.9-1/lib/ImageMagick//modules-Q16/coders/png.la"
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Module convert[58320]: module.c/OpenModule/1304/Module
  Method "RegisterPNGImage" in module "PNG" at address 0x10a9fdb60
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Module convert[58320]: module.c/OpenModule/1318/Module
  Method "UnregisterPNGImage" in module "PNG" at address 0x10aa0785d
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Policy convert[58320]: policy.c/IsRightsAuthorized/574/Policy
  Domain: Path; rights=Read; pattern="test.png" ...
...
2014-10-01T15:29:39+01:00 0:00.020 0.010u 6.8.9 Configure convert[58320]: locale.c/LoadLocaleCache/1186/Configure
  Loading locale configure file "/usr/local/Cellar/imagemagick/6.8.9-1/share/ImageMagick-6/english.xml" ...
2014-10-01T15:29:39+01:00 0:00.020 0.020u 6.8.9 Exception convert[58320]: blob.c/OpenBlob/2657/Exception
  unable to open image `test.png': No such file or directory
2014-10-01T15:29:39+01:00 0:00.020 0.020u 6.8.9 Cache convert[58320]: cache.c/DestroyPixelCache/962/Cache
  destroy 
2014-10-01T15:29:39+01:00 0:00.020 0.020u 6.8.9 Policy convert[58320]: policy.c/IsRightsAuthorized/574/Policy
  Domain: Coder; rights=Read; pattern="PNG" ...
2014-10-01T15:29:39+01:00 0:00.030 0.020u 6.8.9 Coder convert[58320]: png.c/ReadPNGImage/4015/Coder
  Enter ReadPNGImage()
2014-10-01T15:29:39+01:00 0:00.030 0.020u 6.8.9 Policy convert[58320]: policy.c/IsRightsAuthorized/574/Policy
  Domain: Path; rights=Read; pattern="test.png" ...
2014-10-01T15:29:39+01:00 0:00.030 0.020u 6.8.9 Exception convert[58320]: blob.c/OpenBlob/2657/Exception
  unable to open image `test.png': No such file or directory
2014-10-01T15:29:39+01:00 0:00.030 0.020u 6.8.9 Exception convert[58320]: png.c/ReadPNGImage/4021/Exception
  unable to open file `test.png'

Mais il ne montre rien d'évident. Et il semble que ce journal de débogage se comporte de manière complètement différente que sans -debug car l'erreur originale n'existe pas. Voir le journal complet .

Il y a un problème similaire à http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22466 mais je ne comprends pas bien quelle est la solution.

106voto

dlemstra Points 1543

Il vous manque la dépendance optionnelle de Ghostscript gs - ce qui n'est pas facultatif si vous voulez convertir un fichier PDF.

Si which gs ne mène pas au binaire ghostscript (par exemple, vous avez un alias avec le même nom), modifiez le chemin d'accès à Ghostscript dans le fichier delegates.xml .

2 votes

Dans mon cas, Ghostscript était installé, mais le fichier gs a été cachée par un script que j'ai écrit pour la commande git status . Existe-t-il un moyen de fournir à ImageMagick le chemin complet du fichier gs afin que je n'aie pas à supprimer mon script (ou alias) ?

2 votes

Vous devrez modifier le fichier delegates.xml et spécifier l'emplacement alternatif.

0 votes

Debian/ubuntu : apt-get install ghostscript

80voto

Sâu Points 157

Vous pouvez aussi essayer de le faire :

  1. brew uninstall ghostscript
  2. brew install ghostscript

Ça a réglé le problème pour moi.

1 votes

Cela a fait l'affaire !

-1voto

Coxy Points 5256

J'ai eu un problème similaire. Les corrections ci-dessus n'ont rien fait pour moi, mais il semble qu'ImageMagick utilisait la fonction html2ps en interne.

La solution était donc de l'installer. Je ne suis pas sur OS X, donc pour moi la solution était :

apt install html2ps

J'espère que cela aidera quelqu'un.

0 votes

apt o apt-get ?

1 votes

Apt si vous l'avez. C'est le remplaçant d'apt-get.

0 votes

ImageMagick utilisait html2ps en interne pour convertir un pdf en png ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X