我通常可以使用ghostscript将PDF转换为PNG:
gs \
-q \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pnggray \
-g2550x3300 \
-dPDFFitPage \
-sOutputFile=output.png \
input.pdf
Run Code Online (Sandbox Code Playgroud)
但这对某些PDF文件不起作用.例如,上面的命令将此PDF文件转换为此PNG - 原始PDF只是PNG左下角的一个小图像,而不是填充整个页面.
有没有更强大的方法使用ghostscript或其他一些命令行工具将PDF转换为PNG?
注意:如果我在OS X上预览中通过"print - > save as pdf"生成有问题的新PDF文件,那么命令工作正常.
当我使用以下ghostscript命令从PDF生成jpg缩略图时,图像质量通常很差:
gs -q -dNOPAUSE -dBATCH -sDEVICE=jpeggray -g465x600 -dUseCropBox -dPDFFitPage -sOutputFile=pdf_to_lowres.jpg test.pdf
Run Code Online (Sandbox Code Playgroud)
相比之下,如果我使用ghostscript生成高分辨率png,然后使用mogrify将高分辨率png转换为低分辨率jpg,我会得到相当不错的结果.
gs -q -dNOPAUSE -dBATCH -sDEVICE=pnggray -g2550x3300 -dUseCropBox -dPDFFitPage -sOutputFile=pdf_to_highres.png test.pdf
mogrify -thumbnail 465x600 -format jpg -write pdf_to_highres_to_lowres.jpg pdf_to_highres.png
Run Code Online (Sandbox Code Playgroud)
有没有办法在绕过中间pdf - >高分辨率png步骤的同时取得好成绩?我需要为大量的pdf执行此操作,因此我正在尝试最小化计算时间.
以下是上面引用的图像的链接: