用ImageMagick将PDF转换成多张图片
今天遇到一个需求,客户发来几份PDF,想放到他们的微网站(专门给微信用的网站)上,由于是给手机看的,加上文件页数不多,就想到转换成图片再放上去。
第一时间想到用 ImageMagick 的 convert 命令,网上一搜,命令如下:
convert -density 600 foo.pdf foo-%02d.jpg
-density
设置了生成的图片的精度,数值越大,图片越清晰(分辨率高),转换也越慢。如果给手机用,普通 A4 大小的 PDF 设置在 200 左右比较合适。
foo-%02d.jpg
是希望生成的文件名,%02d
部分会替换成页码(从 0 开始),用过 printf
函数的应该对这个规则会比较熟悉。
然而在实际使用时遇到了一个意外情况:
convert: no images defined `foo-%02d.jpg' @ error/convert.c/ConvertImageCommand/3258\.
继续求助搜索引擎,找到解决方案,缺少 gs 即 GhostScript,ImageMagick 用它来解析 PDF 文件。
brew install gs
安装完 gs ,再执行一次 convert 命令,问题解决。