【问题标题】:Ghost Script - extract a single page from a pdf and convert it to a jpgGhost Script - 从 pdf 中提取单个页面并将其转换为 jpg
【发布时间】:2011-07-28 12:31:20
【问题描述】:

我使用的是 ubuntu 10.10,并且安装了 ghost 脚本。我需要做的是从我的 PDF 中提取一页,然后将该页转换为 jpg。目的是创建一个 PDF 预览器....

以下是我发现的一些设置,适用于 windows 版本的 ghostscript,可将整个内容转换为 jpg。它不允许我隔离一页,而这正是我所需要的。

    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=30 ^
    -r72x72 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    /path/to/pdffile.pdf

然后我需要将它写入我的 PHP 库中,这样我就可以运行像 $img_src = pdf::preview('test.pdf', $page=1); 这样的函数

有人对此有任何想法吗?

谢谢

ESP Ghostscript 815.02 (2006-04-19) 版权所有 (C) 2004 artofcode LLC, Benicia, CA。版权所有。 此软件不提供任何保证:请参阅文件 PUBLIC 了解详细信息。

【问题讨论】:

    标签: php pdf ghostscript


    【解决方案1】:

    您是说要从 PDF 中提取单个页面吗?假设您要提取第 12 页。您可以使用以下选项使用 Ghostscript 执行此操作:

    -dFirstPage=12 -dLastPage=12
    

    只需将这两个选项添加到您上面的选项中,将“12”更改为您要提取的页面。

    如果你从终端运行它,它看起来像这样:

    gs \
     -sDEVICE=jpeg \
     -o %03d.jpeg \
     -dFirstPage=12 \
     -dLastPage=12 \
     -dJPEGQ=30 \
     -r72x72 \
      file.pdf
    

    我真的不建议使用 Imagemagick 将 PDF 转换为 JPEG;无论如何,它使用 Ghostscript 来执行此操作,并且比直接使用 Ghostscript 慢。我做了一些实验,发现你可以通过使用 Ghostscript 输出高质量的 JPEG,然后使用 Imagemagick 的 mogrify 命令调整图像大小和压缩图像来获得更高质量的图像,尽管这可能是由于我对 Ghostscript 的了解有限而不是超过它的限制。如果您只是创建 72 x 72 的缩略图,它可能并不重要。

    【讨论】:

    • 根据我的经验,这绝对是正确的,ImageMagick 无论如何都会在幕后调用 GS,但我认为它会连接然后将页面读入内存,这真的很慢。与使用 ImageMagick 完成此任务相比,Ghostscript 更快、使用更少的内存并且质量更好。
    • 是的!从我的应用程序中删除 ImageMagick 层并直接调用 Ghostscript 带来了非常显着的性能提升。
    • gs pages are base-1 而不是 base-0 (这个问题的一些有用信息,因为带有错误页面范围的gs 错误消息是通用的)
    猜你喜欢
    • 2016-03-23
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2022-11-04
    • 2011-04-10
    • 1970-01-01
    • 2014-09-23
    相关资源
    最近更新 更多