Không thể chuyển đổi PDF thành hình ảnh, do lỗi 'không có hình ảnh được xác định'


83

Tôi có tệp PDF sau: http : //www.fmwcon accept.com/misc_tests/pdf_tests/test.pdf

Nhưng khi tôi đang cố gắng chuyển đổi nó qua:

$ convert test.pdf test.png

Tôi đã gặp lỗi sau:

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

Tôi có các phiên bản sau:

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

Tôi đã có nhật ký gỡ lỗi sau:

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

Nhưng không hiển thị bất cứ điều gì rõ ràng. Và dường như nhật ký gỡ lỗi này hoạt động hoàn toàn khác so với không có -debug, vì lỗi ban đầu không có ở đó. Xem nhật ký đầy đủ .

Có một vấn đề tương tự tại http://www.imagemagick.org/discference-server/viewtopic.php?f=3&t=22466 , nhưng tôi không hiểu lắm về giải pháp.

Câu trả lời:


91

Bạn đang thiếu phụ thuộc Ghostscript tùy chọn gs- không phải là tùy chọn nếu bạn muốn chuyển đổi tệp PDF.

Nếu which gskhông giải quyết được nhị phân ghostscript (ví dụ: bạn có bí danh có cùng tên), hãy chỉnh sửa đường dẫn đến Ghostscript trong delegates.xml.


1
Trong trường hợp của tôi, tôi đã cài đặt Ghostscript nhưng gslệnh bị ẩn bởi một đoạn script tôi đã viết git status. Có cách nào để cung cấp cho ImageMagick đường dẫn đầy đủ của gstệp nhị phân để tôi không phải xóa tập lệnh (hoặc bí danh) không?
Sridhar Sarnobat

2
Bạn sẽ cần chỉnh sửa tệp Boulevardates và chỉ định vị trí thay thế.
dlemstra

debian / ubfox: apt-get install ghostscript
Nadir

69

Bạn cũng có thể thử làm:

  1. brew uninstall ghostscript
  2. brew install ghostscript

Điều đó đã sửa nó cho tôi.


Điều đó đã lừa
dòng-o

-1

Tôi đã có một vấn đề tương tự. Các bản sửa lỗi ở trên không làm gì cho tôi, nhưng có vẻ như ImageMagick đã sử dụng html2psnội bộ.

Vì vậy, giải pháp là cài đặt nó. Tôi không dùng OS X, vì vậy đối với tôi, giải pháp là:

apt install html2ps

Hy vọng điều này sẽ giúp được ai đó.


apthay apt-get?
kenorb

1
apt nếu bạn có nó Đây là sự thay thế cho apt-get.
mlissner

ImageMagick đã sử dụng html2ps trong nội bộ để chuyển đổi từ pdf sang png tại đây?
rogerdpack ngày
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.