python -在Windows上获取PDF的预览JPEG?

Translate

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

在Mac上,我正在生成SIPS。我可以在Windows上执行类似的简单操作吗?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

无论如何,ImageMagick都会将PDF->位图转换委派给GhostScript,因此这是您可以使用的命令(基于实际列出的命令)ps:alphaImageMagick中的委托,刚刚调整为使用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.

来源
Translate

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

Convert taxes.pdf taxes.jpg 

将两页的PDF文件转换为[2]个jpeg文件:taxies.jpg.0,taxs.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。

来源
Translate

PC是否可能已安装Acrobat?我认为Acrobat安装了外壳扩展程序,因此PDF文档首页的预览显示在Windows资源管理器的缩略图视图中。您可以通过IExtractImage COM API自己获取缩略图,您需要将其包装。VBAccelerator在C#中有一个示例您可以移植到Python。

来源