在Windows上预览PDF的JPEG?

时间:2008-08-02 17:01:59

标签: python windows image pdf

我有一个跨平台(Python)应用程序,需要生成PDF的第一页的JPEG预览。

在Mac上,我正在产生sips。我可以在Windows上做同样简单的事情吗?

3 个答案:

答案 0 :(得分:33)

ImageMagick无论如何都将PDF->位图转换委托给GhostScript,所以这是一个你可以使用的命令(它基于ImageMagick中ps:alpha委托列出的实际命令,只是调整为使用JPEG作为输出) :

gs -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \
-dMaxBitmap=500000000 -dLastPage=1 -dAlignToPixels=0 -dGridFitTT=0 \
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 \
-sOutputFile=$OUTPUT -f$INPUT

其中$OUTPUT$INPUT是输出和输入文件名。将72x72调整为您需要的任何分辨率。 (显然,如果你将整个命令写成一行,则去掉反斜杠。)

这有两个原因:

  1. 您不再需要安装ImageMagick。并不是说我对ImageMagick有任何反对(我喜欢它),但我相信简单的解决方案。
  2. ImageMagick进行两步转换。首先是PDF-> PPM,然后是PPM-> JPEG。这样,转换就是一步到位。
  3. 需要考虑的其他事项:对于我测试的文件,PNG压缩比JPEG更好。如果您要使用PNG,请将-sDEVICE=jpeg更改为-sDEVICE=png16m

答案 1 :(得分:11)

您可以使用ImageMagick的转换实用程序,请参阅http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html中的一些示例 :

Convert taxes.pdf taxes.jpg 
     

将两页PDF文件转换为[2] jpeg文件:taxes.jpg.0,   taxes.jpg.1

     

我还可以将这些JPEGS转换为缩略图,如下所示:

convert -size 120x120 taxes.jpg.0 -geometry 120x120 +profile '*' thumbnail.jpg
     

我甚至可以将PDF直接转换为jpeg缩略图,如下所示:

convert -size 120x120 taxes.pdf -geometry 120x120 +profile '*' thumbnail.jpg
     

这将导致两者的thumbnail.jpg.0和thumbnail.jpg.1   页。

答案 2 :(得分:3)

PC是否可能安装了Acrobat?我认为Acrobat会安装一个shell扩展,因此在Windows资源管理器的缩略图视图中会显示PDF文档第一页的预览。您可以通过IExtractImage COM API自行获取缩略图,您需要将其包装起来。你可以移植到Python的VBAccelerator has an example in C#