【问题标题】:Convert PDF to image in PHP without ImageMagick在没有 ImageMagick 的 PHP 中将 PDF 转换为图像
【发布时间】:2012-09-05 11:36:23
【问题描述】:

我有一个需要 PDF 到图像转换的 PHP 站点,显然我们正在使用 imagemagick。 然而,现在我们正试图转移到不同的主机,似乎我无法在新主机上安装 imagemagick 包来做和我们现在一样的事情。

所以问题是 - 有没有什么方法可以使用纯 PHP 方式将 PDF 转换为图像,或者使用其他任何可以弹出到 DOCUMENT_ROOT 并且不需要正确安装到系统中的方法。

这是一个Linux系统,但我不知道是什么发行版,我无法检查,因为我在这个系统中的权利真的很有限。

谢谢 亚历克斯。

【问题讨论】:

  • 请检查。它可以帮助你code.google.com/p/dompdf
  • Rest online PDF to Image 服务可以为您做到这一点convertapi.com 无需在服务器上安装任何东西,因为所有转换都在服务云电脑上完成。

标签: php linux image pdf imagemagick


【解决方案1】:

在 linux 系统上,静态链接的东西可以在没有外部库依赖的情况下工作。因此,如果您可以获取/创建静态链接的 imagemagick 可执行文件,则可以直接在 docroot 下使用它。可能它不是那么微不足道。

或者您可以使用远程站点为您进行转换。喜欢: http://pdf2jpg.net/ (对于张贴上传表单,这样的 curl 会很有用。)

【讨论】:

    【解决方案2】:

    “[...] 需要 PDF 到图像的转换,我们显然正在使用 imagemagick。”

    这一点都不明显。

    因为 ImageMagick 无法将 PDF 单独转换为图像。它需要使用 Ghostscript 作为它的'delegate'。所以你可能已经安装了 ImageMagick,但没有安装 Ghostscript,它不会工作。

    反之亦然,您可以安装 Ghostscript 但不安装 ImageMagick——您仍然可以轻松地将 PDF 转换为图像。例如,转换为分辨率为 144 DPI 的 JPEG(不指定一个,您将得到 72 DPI):

    gs              \
      -o out.jpg    \
      -sDEVICE=jpeg \
      -r144         \
       in.pdf
    

    此外,您可以随意安装 Ghostscript。

    顺便说一句:我会远离不提供 ImageMagick 或 Ghostscript 安装的托管服务提供商,更不用说不允许自己安装了... )

    【讨论】:

    • 嗯,我无法检查 GhostScript 是否真的可以在没有 ImageMagick 的情况下完成,因为我拥有的服务器都安装了它,我无法触及 - 它是生产。然而,斜体字的建议被证明是最有用的 - 我们将避开这种 gimped 托管,以便获得更昂贵但更合适的托管。
    • @user1450663:Ghostscript 可以在没有 ImageMagick 的情况下完成。如果没有 Ghostscript,ImageMagick 就无法做到这一点。您可以运行我在答案中给您的gs 命令以查看证明。您还可以运行 ImageMagick 的命令 convert -verbose some.pdf some.png,您会看到 ImageMagick 使用各种参数调用外部 Ghostscript 可执行文件,其中一个是 -sDEVICE=pngalpha
    猜你喜欢
    • 2016-04-25
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多