سؤال لا يمكن تحويل PDF إلى صورة ، بسبب خطأ "لا يوجد تعريف للصور"


لدي ملف PDF التالي: http://www.fmwconcepts.com/misc_tests/pdf_tests/test.pdf

ولكن عندما أحاول تحويله عبر:

$ convert test.pdf test.png

لدي الخطأ التالي:

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

لدي الإصدارات التالية:

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

لدي سجل تصحيح الأخطاء التالي:

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

لكن لا يظهر أي شيء واضح. ويبدو أن سجل تصحيح الأخطاء هذا سلوك مختلف تمامًا عن دون -debug، لأن الخطأ الأصلي ليس هناك. شاهد سجل كامل.

هناك مشكلة مماثلة في http://www.imagemagick.org/discourse-server/viewtopic.php؟f=3&t=22466لكنني لا أجد ما هو الحل.


69
2017-10-01 14:25


الأصل




الأجوبة:


أنت تفتقد إلى تبعية Ghostscript الاختيارية gs - وهو أمر غير اختياري إذا كنت ترغب في تحويل ملف PDF.

إذا which gs لا حل لثنائي ghostscript (على سبيل المثال ، لديك اسم مستعار يحمل الاسم نفسه) ، قم بتحرير المسار إلى Ghostscript في delegates.xml.


80
2017-10-01 15:35



في حالتي كان لدي تثبيت Ghostscript لكن gs كان مخفيًا بواسطة نص كتبته git status. هل هناك طريقة لتغذية ImageMagick المسار الكامل لل gs binary بحيث لا يلزم إزالة البرنامج النصي الخاص بي (أو الاسم المستعار)؟ - Sridhar-Sarnobat
ستحتاج إلى تحرير ملف delegates.xml وتحديد الموقع البديل. - dlemstra
debian / ubuntu: apt-get install ghostscript - Nadir


يمكنك أيضًا تجربة ما يلي:

  1. brew uninstall ghostscript
  2. brew install ghostscript

هذا ثابت لي.


58
2017-12-11 04:17



هذا لم الحيلة! - line-o


كان لدي مشكلة مماثلة. الإصلاحات أعلاه لم تفعل أي شيء بالنسبة لي ، ولكن يبدو أن ImageMagick كان يستخدم html2ps داخليا.

لذا ، كان الحل هو تثبيت ذلك. أنا لست على OS X ، لذلك كان الحل بالنسبة لي هو:

apt install html2ps

نأمل أن يساعد هذا شخص ما.


-1
2017-08-25 23:38



apt أو apt-get؟ - kenorb
ملائمة إذا كان لديك. انها بديل ل apt-get. - mlissner
ImageMagick كان يستخدم html2ps داخليًا للتحويل من pdf إلى png هنا؟ - rogerdpack