在Windows上获取PDF的预览JPEG?

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

在Mac上,我产生了啜饮 。 有什么类似的简单,我可以在Windows上做什么?

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。 这样,转换是一步。

其他的事情要考虑:与我测试的文件,PNG压缩比JPEG更好。 如果要使用PNG,请将-sDEVICE=jpeg更改为-sDEVICE=png16m

您可以使用ImageMagick的convert实用程序,请参阅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。

PC是否可能安装了Acrobat? 我认为Acrobat会安装一个外壳扩展,所以在Windows资源管理器的缩略图视图中会出现PDF文档第一页的预览。 您可以通过IExtractImage COM API自行获取缩略图,您需要将其缩小。 VBAccelerator在C#中有一个例子 ,你可以移植到Python。