在不安装 Ghostscript 的情况下将 PDF 文档转换为 PHP 中的预览图像

Posted

技术标签:

【中文标题】在不安装 Ghostscript 的情况下将 PDF 文档转换为 PHP 中的预览图像【英文标题】:Convert a PDF document to a preview image in PHP without installing Ghostscript 【发布时间】:2011-12-30 01:25:35 【问题描述】:

以前有人问过这个问题,但答案总是使用 ghost 脚本。这在使用 cPanel 的主机上不可用。是否可以不安装 Ghostscript 扩展?

【问题讨论】:

谁说有cpanel的服务器不能有ghostscript? 并不是所有的托管公司都默认安装ghostscript。其中一些需要所有者自己安装。也许蒂姆不想安装它? 我的托管公司说 cpanel 服务器不能有 ghostscript。有错吗? 他们当然可以拥有 Ghostscript。如果有的话,我可能会想象 Ghostscript 的某些安全方面使其不受欢迎,但我不知道那会是什么。 【参考方案1】:

您可以编译 Imagemagick 的单个二进制文件并将其部署到网络服务器,例如 this guy。他的问题听起来很像你的问题

我需要在共享主机上部署 ImageMagick 的“转换”实用程序, 我无权访问 /usr/lib、env 或除 网络空间。但是,我可以将二进制文件放入网络空间,将其更改为 755 并运行它(从 Apache 上下文)。

构建独立的二进制文件意味着它可以包含 ghostscript 作为二进制文件的一部分。如果您无法在目标主机上构建,请使用具有相同操作系统的 VM,构建二进制文件,然后将其上传到您的 webroot 并使用exec et al 调用它

【讨论】:

【参考方案2】:

您需要 ImageMagick 和 GhostScript。

<?php
$im = new imagick('file.pdf[0]');
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>

[0] 表示第 1 页。

【讨论】:

Imagemagick 需要 Ghoscript 来读取 PDF 文件,但不需要从其他格式保存为 PDF。抱歉,我不知道有任何其他工具可以读取 PDF 以转换为其他格式。【参考方案3】:

对于那些考虑使用外部服务来实现这一点的人来说只是一个快速的建议:现在,一些 API 允许上传文档并检索其相关信息、缩略图等。

例如查看 Cloudinary(提供免费计划):https://cloudinary.com/blog/uploading_converting_and_generating_thumbnails_for_pdf_documents

【讨论】:

以上是关于在不安装 Ghostscript 的情况下将 PDF 文档转换为 PHP 中的预览图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在不复制列标签的情况下将多个数据框写入同一张表

在不安装 Xcode 的情况下将 GCC 安装到 Mac OS X Leopard

在不安装 Java 的情况下将受密码保护的 xlsx 文件读入 R(密码已知)

如何在不使用任何插件的情况下将非 maven 依赖项安装到您的 maven 项目中? [复制]

有没有办法在不安装任何驱动程序的情况下将表从雪花导入 R 中的数据帧?

如何在不使用任何付费工具的情况下将 dbf 文件导入 mysql?