ไม่สามารถแปลง PDF เป็นภาพได้เนื่องจากข้อผิดพลาด 'ไม่มีรูปภาพที่กำหนด'


83

ฉันเป็นไฟล์ 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แต่ฉันไม่ค่อยเข้าใจว่ามันคือทางออกอะไร

คำตอบ:


91

คุณไม่มี Ghostscript dependence gsซึ่งไม่จำเป็นถ้าคุณต้องการแปลงไฟล์ PDF

หากwhich gsไม่สามารถแก้ไขไบนารี Ghostscript (เช่นคุณมีนามแฝงที่มีชื่อเดียวกัน) แก้ไขเส้นทางไป Ghostscript delegates.xmlใน


1
ในกรณีของฉันฉันได้ติดตั้ง Ghostscript แต่คำสั่งถูกซ่อนไว้โดยสคริปต์ที่ผมเขียนสำหรับgs git statusมีวิธีให้ฟีด ImageMagick เส้นทางแบบเต็มของgsไบนารีเพื่อให้ฉันไม่ต้องลบสคริปต์ของฉัน (หรือนามแฝง) หรือไม่?
Sridhar Sarnobat

2
คุณจะต้องแก้ไขไฟล์ delegates.xml และระบุตำแหน่งอื่น
dlemstra

เดเบียน / อูบุนตู: ติดตั้ง apt-get ghostscript
Nadir

69

คุณสามารถลองทำ:

  1. brew uninstall ghostscript
  2. brew install ghostscript

นั่นแก้ไขให้ฉัน


นั่นเป็นเคล็ดลับ!
line-o

-1

ฉันมีปัญหาที่คล้ายกัน การแก้ไขข้างต้นไม่ได้ทำอะไรให้ฉันเลย แต่ดูเหมือนว่า ImageMagick กำลังใช้งานhtml2psภายใน

ดังนั้นทางออกคือการติดตั้งที่ ฉันไม่ได้ใช้ OS X ดังนั้นสำหรับฉันวิธีแก้ไขคือ:

apt install html2ps

หวังว่านี่จะช่วยใครซักคน


aptหรือapt-get?
kenorb

1
ฉลาดถ้าคุณมีมัน มันเป็นสิ่งทดแทนสำหรับ apt-get
mlissner

ImageMagick ใช้ html2ps ภายในเพื่อแปลงจาก pdf เป็น png ที่นี่ใช่ไหม
rogerdpack
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.