代码之家  ›  专栏  ›  技术社区  ›  Gareth Simpson

在Windows上获取PDF的预览jpeg?

  •  41
  • Gareth Simpson  · 技术社区  · 16 年前

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

    在Mac上,我正在繁殖 sips . 我能在Windows上做些同样简单的事情吗?

    3 回复  |  直到 8 年前
        1
  •  33
  •   C. K. Young    16 年前

    ImageMagick无论如何都会将PDF->位图转换委托给Ghostscript,因此您可以使用以下命令(它基于 ps:alpha ImageMagick中的委托,刚刚调整为使用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 .

        2
  •  14
  •   hichris123 Andreas Sewe    9 年前

    您可以使用imagemagick的convert实用程序进行此操作,请参阅中的一些示例 http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :

    Convert taxes.pdf taxes.jpg 
    

    将一个两页的PDF文件转换为[2]jpeg文件:taxes.jpg.0, 税收,JPG,1

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

    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 页。

        3
  •  3
  •   Dominic Cooney    16 年前

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