PDF kann nicht in Bild konvertiert werden, da der Fehler "Keine Bilder definiert" vorliegt


83

Ich habe die folgende PDF-Datei: http://www.fmwconcepts.com/misc_tests/pdf_tests/test.pdf

Aber wenn ich versuche, es über zu konvertieren:

$ convert test.pdf test.png

Ich habe folgenden Fehler:

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

Ich habe die folgenden Versionen:

$ 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 ✘

Ich habe das folgende Debug-Protokoll:

$ 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'

Zeigt aber nichts offensichtliches. Und es scheint, dass sich dieses Debug-Protokoll völlig anders verhält als ohne -debug, weil der ursprüngliche Fehler nicht vorhanden ist. Das vollständige Protokoll anzeigen .

Es gibt ein ähnliches Problem unter http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22466 , aber ich verstehe nicht ganz, was die Lösung ist.

Antworten:


91

Ihnen fehlt die optionale Ghostscript-Abhängigkeit. Diese gsist nicht optional, wenn Sie eine PDF-Datei konvertieren möchten.

Wenn which gsdie Ghostscript-Binärdatei nicht aufgelöst wird (z. B. Sie haben einen Alias ​​mit demselben Namen), bearbeiten Sie den Pfad zu Ghostscript in delegates.xml.


1
In meinem Fall hatte ich Ghostscript installiert, aber der gsBefehl wurde von einem Skript verborgen, für das ich geschrieben habe git status. Gibt es eine Möglichkeit, ImageMagick mit dem vollständigen Pfad der gsBinärdatei zu versorgen, damit ich mein Skript (oder meinen Alias) nicht entfernen muss?
Sridhar Sarnobat

2
Sie müssen die Datei delegates.xml bearbeiten und den alternativen Speicherort angeben.
Dlemstra

debian / ubuntu: apt-get install ghostscript
Nadir

69

Sie können auch versuchen:

  1. brew uninstall ghostscript
  2. brew install ghostscript

Das hat es für mich behoben.


Das hat den Trick gemacht!
Line-o

-1

Ich hatte ein ähnliches Problem. Die obigen Korrekturen haben nichts für mich getan, aber es sieht so aus, als würde ImageMagick html2psintern verwendet.

Die Lösung bestand also darin, das zu installieren. Ich arbeite nicht unter OS X, daher lautete die Lösung für mich:

apt install html2ps

Hoffentlich hilft das jemandem.


aptoder apt-get?
Kenorb

1
passend, wenn Sie es haben. Es ist der Ersatz für apt-get.
mlissner

ImageMagick verwendete html2ps intern, um hier von pdf nach png zu konvertieren?
Rogerdpack
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.