Mac:无法将.pdf转换为.png - GS错误

时间:2014-10-12 19:11:39

标签: macos imagemagick ghostscript imagemagick-convert

我最近安装了一台安装了10.9.4的新Macbook。但是从那以后,我就不能使用脚本将PDF文件转换为PNG了。好像我的ImageMagick安装找不到Ghostscript。我尝试了多次安装(使用.pkg安装程序),但没有任何改变。

这是我的转换命令:

convert -density 144x144 -quality 90 file.pdf file.png

我得到的就是这个:

Unrecoverable error: rangecheck in .putdeviceprops sfopen: gs_parse_file_name failed. ./base/gsicc_manage.c:866: gsicc_open_search(): Could not find lab.icc | ./psi/zusparam.c:856: set_lab_icc(): cannot find default lab icc profile convert: Postscript delegate failed 'file.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/665. convert: missing an image filename 'file.png' @ error/convert.c/ConvertImageCommand/3016.

有点说我的pdf代表有问题。所以,当我查看我的ImageMagick安装的代表时,它也是这样说的(convert -list configure):

Path: /opt/local/lib/ImageMagick-6.7.4/config/configure.xml
Name Value
-------------------------------------------------------------------------------
CC            /Developer/usr/bin/clang
CFLAGS        -pipe -O2 -arch x86_64 -Wall -D_THREAD_SAFE -pthread
CODER_PATH    /opt/local/lib/ImageMagick-6.7.4/modules-Q16/coders
CONFIGURE     ./configure  '--prefix=/opt/local' '--enable-shared' '--enable-static' '--disable-    ltdl-install' '--with-frozenpaths' '--without-openexr' '--disable-hdri' '--with-dps' '--with-bzlib' '--with-fontconfig' '--with-gslib' '--with-jpeg' '--with-lcms' '--with-png' '--with-tiff' '--with-zlib' '--with-modules' '--with-xml' '--with-x' '--without-perl' '--without-fpx' '--without-jbig' '--without-jp2' '--without-wmf' '--without-gvc' '--without-rsvg' '--without-lqr' '--with-gs-font-dir=/opt/local/share/fonts/urw-fonts' '--with-quantum-depth=16' 'CC=/Developer/usr/bin/clang' 'CFLAGS=-pipe -O2 -arch x86_64' 'LDFLAGS=-L/opt/local/lib -arch x86_64' 'CPPFLAGS=-I/opt/local/include' 'CXX=/Developer/usr/bin/clang++' 'CXXFLAGS=-pipe -O2 -arch x86_64'
CONFIGURE_PATH /opt/local/etc/ImageMagick/
COPYRIGHT     Copyright (C) 1999-2011 ImageMagick Studio LLC
CPPFLAGS      -I/opt/local/include/ImageMagick
CXX           /Developer/usr/bin/clang++
CXXFLAGS      -pipe -O2 -arch x86_64 -D_THREAD_SAFE -pthread
DEFS          -DHAVE_CONFIG_H
DELEGATES     bzlib fontconfig freetype gs jpeg jng lcms2 lzma png tiff x11 xml zlib
DISTCHECK_CONFIG_FLAGS 'CC=/Developer/usr/bin/clang' 'CFLAGS=-pipe -O2 -arch x86_64' 'CPPFLAGS=-I/opt/local/include' 'CXX=/Developer/usr/bin/clang++' 'LDFLAGS=-L/opt/local/lib -arch x86_64' --disable-deprecated --with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-fpx=no --with-fontpath= --with-gs-font-dir=/opt/local/share/fonts/urw-fonts --with-gvc=no --with-jp2=no --with-lqr=no --with-openexr=no --with-rsvg=no --with-wmf=no --with-perl=no
DOCUMENTATION_PATH /opt/local/share/doc/ImageMagick/
EXEC-PREFIX   /opt/local
EXECUTABLE_PATH /opt/local/bin
FEATURES      
FILTER_PATH   /opt/local/lib/ImageMagick-6.7.4/modules-Q16/filters
HOST          x86_64-apple-darwin11.2.0
INCLUDE_PATH  /opt/local/include/ImageMagick
LDFLAGS       -L/opt/local/lib -L/opt/local/lib -arch x86_64 -L/opt/local/lib -L/opt/local/lib
LIB_VERSION   0x674
LIB_VERSION_NUMBER 6,7,4,0
LIBRARY_PATH  /opt/local/lib/ImageMagick-6.7.4
LIBS          -lMagickCore -llcms2 -ltiff -lfreetype -ljpeg -L/opt/local/lib -lfontconfig -lXext -lSM -lICE -lX11 -lXt -L/opt/local/lib -llzma -lbz2 -lz -lm -lgomp -lpthread -lltdl
NAME          ImageMagick
PCFLAGS       
PREFIX        /opt/local
QuantumDepth  16
RELEASE_DATE  2012-01-09
SHARE_PATH    /opt/local/share/ImageMagick-6.7.4
SVN_REVISION  6163
TARGET_CPU    x86_64
TARGET_OS     darwin11.2.0
TARGET_VENDOR apple
VERSION       6.7.4
WEBSITE       http://www.imagemagick.org

Path: [built-in]

Name          Value`
-------------------------------------------------------------------------------
NAME          ImageMagick

所以,我猜代表行是有趣的:

bzlib fontconfig freetype gs jpeg jng lcms2 lzma png tiff x11 xml zlib

那里没有PDF,但我该如何添加?如果您认为我没有安装ghostscript(通过谷歌建议的许多提示),这是我的ghostscript安装:

GPL Ghostscript 9.04 (2011-08-05) Copyright (C) 2011 Artifex Software, Inc. All rights reserved.

那么,这里有什么问题?是"只是" PDF代表失踪了吗?但是我该如何添加呢? GS可能配置错了吗?我该怎么办才能修复它?任何建议都将受到高度赞赏 - 我完全没有想法!

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

ImageMagick正在寻找Ghostscript,因为:

sfopen: gs_parse_file_name failed.
./base/gsicc_manage.c:866: gsicc_open_search(): Could not find lab.icc
./psi/zusparam.c:856: set_lab_icc(): cannot find default lab icc profile 

来自Ghostscript的一堆错误消息。首先要做的是尝试从命令行运行Ghostscript本身,而不是从ImageMagick内部运行。显然你已经尝试过运行GS本身(来自你的帖子),但你是否尝试过使用相关的输入文件?例如:

./ gs -sDEVICE = png16m -o out.png file.pdf

如果有效,那么ImageMagick传递给Ghostscript的命令行特有的东西,你将不得不问一个知道ImageMagick如何确定的人。我找到了一个声称ImageMagick转换两次的网站,首先是从PDF转换为PostScript,然后将PostScript转换为PNG。所以你可能需要确定这是否属实,如果是,那么哪一步导致问题。

您可能还会考虑尝试使用Ghostscript的最新版本9.15,您使用的版本(显然)是3年。