convert: FailedToExecuteCommand `"gswin32c.exe" -q -dQUIET

2019-02-12 17:31:10
ImageMagick之PDF转换成图片(image)

安装完ImageMagick之后,直接执行“magick convert f:\parseWord\tmp\testpdf.pdf f:\parseWord\tmp\testpdf.jpg”,会报错:

1
2
3
4
5
convert: FailedToExecuteCommand `"gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72"  "-sOutputFile=C:/Users/pc/AppData/Local/Temp/magick-93208IyLP_klqfgpM%d" "-fC:/Users/pc/AppData/Local/Temp/magick-93208rnBVeMlSCx90" "-fC:/Users/pc/AppData/Local/Temp/magick-93208pA1SIsPmWqDw"' (系统找不到指定的文件。
) @ error/delegate.c/ExternalDelegateCommand/460.
convert: PDFDelegateFailed `系统找不到指定的文件。
' @ error/pdf.c/ReadPDFImage/783.
convert: no images defined `f:\parseWord\tmp\testpdf.jpg' @ error/convert.c/ConvertImageCommand/3253.

  

 

这是因为没有安装ghostscript,下载地址:http://ghostscript.com/download/gsdnld.html

 

下载安装之后,再执行命令:“magick convert f:\parseWord\tmp\testpdf.pdf f:\parseWord\tmp\testpdf.jpg”,

 

可以看到在指定路径下的文件夹出现了三个JPG文件,这是因为ImageMagick在转换PDF文件时会根据PDF文件的页数生成图片。


 


您需要安装 Ghostscript 才能使用ImageMagick栅格化矢量文件(PDF,EPS,PS等)。在进行这些操作时,IM会向Ghostscript发出声明(如果在IM调用中使用 -verbose 标记,则可以看到它)。您也可以单独使用Ghostscript来栅格化矢量文件。


  • 2018-02-04 23:46:16

    Android SQLite 升级数据库,在原有数据库的基础上添加一列

    原本以为很简单的问题,直接在原来创建数据库的语句中加上需要添加的列new_column,但是运行时发现,应用crash。原因是,原有数据库文件已经存在的情况下并不会重新创建数据库,也就是说此时数据库中并没有new_column列,这个时候,运行query()来查询数据库如果包括new_column列,就会导致应用crash。

  • 2018-02-06 22:23:01

    HTML5 Canvas 的事件处理

    DOM是Web前端领域非常重要的组成部分,不仅在处理HTML元素时会用到DOM,图形编程也同样会用到。比如SVG绘图,各种图形都是以DOM节点的形式插入到页面中,这就意味着可以使用DOM方法对图形进行操作。比如有一个<path id=”p1″>元素,可以直接用jquery增加click事件$(‘#p1’).click(function(){…})”。然而这种DOM处理方法在HTML5的Canvas里不再适用,Canvas使用的是另外一套机制,无论在Canvas上绘制多少图形,Canvas都是一个整体,图形本身实际都是Canvas的一部分,不可单独获取,所以也就无法直接给某个图形增加JavaScript事件。

  • 2018-02-09 01:32:48

    PHP时间戳和日期相互转换

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明。

  • 2018-02-09 02:57:46

    如何防止多次打开Activity?

    android:launchMode="singleTask" 加上这句,每次打开如果已有此activity,就会打开原来的实例,否则会创建新的activity​

  • 2018-02-17 18:51:26

    Context都没弄明白,还怎么做Android开发?

    作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。