【问题标题】:Why i get "Failed to invoke gs" for ghostscript PDF password checker in php为什么我在php中为ghostscript PDF密码检查器获取“无法调用gs”
【发布时间】:2018-07-16 16:27:06
【问题描述】:

我使用thisthis 来检查PDF 文件是否受密码保护! 我测试了这个方法:

exec("$shFunction withPassword.pdf",$result);

shell_exec('sh ' . $shFunction . ' withPassword.pdf');

  • 我在 $shFunction 中设置了 ghostscript
  • password.pdf 和 php 文件在同一个文件夹中

但我得到错误:

Failed to invoke gs 

【问题讨论】:

    标签: php pdf ghostscript password-protection


    【解决方案1】:

    好吧,Ghostscript 不是 PDF 密码检查器,所以这可能是个问题。

    Ghostscript 可执行文件也不称为 ghostscript。可执行文件名称因平台和字长而异。但是,我看到错误是“无法调用 gs”,这表明您至少获得了正确的名称。

    最可能的问题来源是:

    1) Ghostscript 未安装

    2) 运行进程的用户的 $PATH 环境变量不包括包含 Ghostscript 二进制文件gs 的文件夹。

    【讨论】:

    • 但我在link 中使用了另一个 Ghostscript 并且工作正常。
    • 很抱歉,我不知道您所说的“使用了另一个 Ghostscript”是什么意思。但是,在我看来,您的标记不正确,您需要 PHP 而不是 Ghostscript 的帮助。
    • 我不知道!我使用两个 Ghostscript 进行“密码检查”和“解密”PDF。 “解密” Ghostscript 工作正常,但我测试“密码检查” Ghostscript,但不工作。我使用了多种方法但没有奏效..
    • 好的,所以我认为您是说您可以运行 Ghostscript 从受密码保护的加密 PDF 创建未加密的 PDF(淘气!),但是当您运行简单命令时,您会收到错误消息。好吧,坦率地说,我并不感到惊讶。 'gs ' 所做的只是将 PDF 文件渲染到默认设备。我猜你的 Ghostscript 版本是为 X Windows 构建的,所以默认设备是 X 设备,但是你没有可用的 X 服务器,所以 GS 抛出一个错误并以错误代码退出,执行官注意到的。实际上,该命令并没有按照您的想法执行。
    • 感谢大佬的解释。那么,你知道我应该怎么做吗?我只想检查是否有密码的PDF文件!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 2016-09-17
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多