【问题标题】:How to extract images from PDF using Ghostscript or ImageMagick?如何使用 Ghostscript 或 ImageMagick 从 PDF 中提取图像?
【发布时间】:2013-06-08 13:15:05
【问题描述】:

我需要渲染或获取特定 PDF 文件中的所有图像。如何使用 Ghostscript 或 ImageMagick 实现这一点?

【问题讨论】:

    标签: pdf imagemagick ghostscript poppler


    【解决方案1】:

    你不能用 Ghostscript 来做,但你可以用 Poppler 或 XPDF 的名为 pdfimages 的命令行工具来做:

    pdfimages -j some.pdf subdir/image-prefix
    

    所有图像现在都将位于subdir/,命名为image-prefix-0001.jpgimage-prefix-0002.jpg ...

    -j 参数将使命令尝试直接提取 JPEG。如果无法创建 JPEG,它将创建 PNM 或 PPM,您始终可以使用 ImageMagick 进行转换:

    convert subdir/image-prefix-0033.ppm subdir/image-prefix-0033.jpeg
    

    【讨论】:

    • 我想做类似的事情,但我想从 pdf 中完全删除所有图像,即 pdf 应该只包含文本/字体但不包含图像,可以这样做吗?请帮忙。
    • @codin:评论不是为了讨论一个全新的话题。请提出一个新问题,将其标记为[ghostscript] + [pdf],我会尽力回答。还请说明您的请求的目的是什么。节省文件大小?删除图像中包含的信息?还是?
    • 第二步,Mogrify 似乎更合适:magick mogrify -format jpg *.ppm
    【解决方案2】:

    如果不给自己编写一个 Ghostscript 设备,你当然不能在 Ghostscript 中做到这一点。
    我怀疑你也可以用 ImageMagick 做到这一点。
    您看过 PDFtk 吗?

    如果您使用的是 Windows,那么会出现一个快速的 Google:

    http://www.somepdf.com/some-pdf-image-extract.html

    在 Linux 上:

    https://askubuntu.com/questions/150100/extracting-images-from-a-pdf

    【讨论】:

    • 我想使用 GS 或 image-magic 的原因是他们使用了我可以通过 java 运行的脚本,您是否推荐任何使用命令行命令或脚本来实现此目的的 PDF 工具?
    • pdftk 可以提取附件,但是好像不能提取图片。
    【解决方案3】:

    提取 1 个页面的示例:

    gs -q -dBATCH -dNOPAUSE -sDEVICE=pnggray -d300 -dFirstPage=1 -dLastPage=1 -sOutputFile=1.tiff in.pdf
    

    【讨论】:

    • 这不会提取原始图像。它根据页面的外观呈现图像。例如,如果您在图像上覆盖了文本,您也会在渲染的图像中得到它。
    猜你喜欢
    • 2013-07-25
    • 2014-01-07
    • 2023-03-18
    • 2014-05-05
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2019-04-26
    相关资源
    最近更新 更多