我目前正在使用
Imagemagick将PDF转换为JPEG光栅图像.
它很慢,占用了大量内存.
它很慢,占用了大量内存.
我使用的命令是:
convert -geometry 1024x768 -density 200 -colorspace RGB foo.pdf bar%02d.jpg
我猜它很慢,因为它使用ghostscript.
但是在Linux机器上必须有更快的方法.
有没有人找到更好的解决方案?
干杯
垫
解决方法
直接使用Ghostscript(而不是使用ImageMagick的转换命令,间接调用Ghostscript)确实更快.它可以让您更好地控制转换参数.尝试
gs \ -sDEVICE=jpeg \ -o bar_%03d.jpg \ -dJPEGQ=95 \ -r600x600 \ -g4960x7016 \ foo.pdf
哪里
> -o:确定输出路径文件名(并保存-dBATCH -dNOPAUSE的使用)
> -dJPEGQ:将JPEG质量设置为95%
> -r:将分辨率设置为600dpi
> -g:将图像大小设置为4960x7016px
> -sDEVICE:将输出设置为JPEG
对于您而言,此命令可能仍然会变慢并创建大于预期的文件.对于较小的文件大小和更快的执行尝试这(可能接近转换命令行的输出质量):
gs \ -sDEVICE=jpeg \ -o bar_%03d_200dpi_q80.jpg \ -dJPEGQ=80 \ -r200x200 \ -g1653x2339 \ foo.pdf
甚至
gs \ -sDEVICE=jpeg \ -o bar_%03d_default_a4.jpg \ -sPAPERSIZE=a4 \ foo.pdf
(它提供72dpi分辨率,通常足以满足大多数屏幕和大多数Web应用程序).