【问题标题】:pdftk not executing in phppdftk 未在 php 中执行
【发布时间】:2020-12-01 15:32:05
【问题描述】:

我无法在 php 中执行 pdftk。在文档中,它只是提到如下保存。

use mikehaertl\pdftk\Pdf;

$pdf = new Pdf('/path/my.pdf');

$pdf->allow('AllFeatures')      // Change permissions
    ->compress($value)          // Compress/Uncompress
    ->saveAs('new.pdf');

但是我的代码没有给出任何输出。我尝试调试像

// Check for errors
if (!$pdf->saveAs('new.pdf')) {
    $error = $pdf->getError();
}

没有消息。 后来发现,pdftk没有被执行

public function saveAs($name)
{
    if (!$this->getCommand()->getExecuted() && !$this->execute()) {
     echo 'test'; // it is printing   
     return false;
    }
}

这是什么意思?我是从作曲家安装的。在阅读 github 问题时,开发人员的回复可能是我的问题。是 你需要设置你的pdftk命令的路径,见https://github.com/mikehaertl/php-pdftk#execution

我不清楚如何设置路径,它没有在文档中突出显示。这里只提到了

该类使用php-shell命令来执行pdftk。您可以将其 Command 类的 $options 作为第二个参数传递给构造函数:例如。

$pdf = new Pdf('/path/my.pdf', [
    'command' => '/some/other/path/to/pdftk',
    // or on most Windows systems:
    // 'command' => 'C:\Program Files (x86)\PDFtk\bin\pdftk.exe',
    'useExec' => true,  // May help on Windows systems if execution fails
]);

我正在使用 xampp。关于 pdftk,我在项目中有一个由 composer 创建的目录。 phpand这条路径是什么?这个项目可以在linux或window server中移动吗?我需要为此安装任何第三方软件吗?

【问题讨论】:

    标签: php pdftk php-pdftk


    【解决方案1】:

    您需要从这里安装 pdftk - pdftk official。如果您在 Windows 上安装,请确保您的系统环境变量设置为执行 pdftk,您可以通过简单地在命令提示符下运行来测试它

    pdftk --version

    如果这在您的命令提示符下有效,则意味着您的路径正确。其次,如果您无法在 Windows 中设置环境变量,您可以直接在代码中的程序文​​件中传递pdftk.exe 的路径,如下所示:

    $pdf = new Pdf('/path/my.pdf', [
        'command' => 'C:\Program Files (x86)\PDFtk\bin\pdftk.exe',
        // or on most Windows systems:
        // 'command' => 'C:\Program Files (x86)\PDFtk\bin\pdftk.exe',
        'useExec' => true,  // May help on Windows systems if execution fails
    ]);
    

    您还需要弄清楚有关权限的任何问题,确保 php 有权在您的窗口中执行脚本并且它可以写入文件系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 2014-04-16
      相关资源
      最近更新 更多