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