在Windows上获取PDF的预览JPEG?

aet 发布于 2018-02-04 image 最后更新 2018-02-04 01:01 1256 浏览

我有一个跨平台(Python)的应用程序,需要生成一个PDF的第一页的JPEG预览。 在Mac上,我产生了sips。有什么类似的简单,我可以在Windows上做什么?

已邀请:

psequi

赞同来自:

您可以使用ImageMagick的convert实用程序来查看http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html中的一些示例 :

Convert taxes.pdf taxes.jpg 
Will convert a two page PDF file into [2] jpeg files: taxes.jpg.0, taxes.jpg.1 I can also convert these JPEGS to a thumbnail as follows:
convert -size 120x120 taxes.jpg.0 -geometry 120x120 +profile '*' thumbnail.jpg
I can even convert the PDF directly to a jpeg thumbnail as follows:
convert -size 120x120 taxes.pdf -geometry 120x120 +profile '*' thumbnail.jpg
This will result in a thumbnail.jpg.0 and thumbnail.jpg.1 for the two pages.

stotam

赞同来自:

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

eomnis

赞同来自:

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