首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdftk在php中不执行

pdftk在php中不执行
EN

Stack Overflow用户
提问于 2020-08-11 22:17:06
回答 1查看 2.6K关注 0票数 0

我无法在php中执行pdftk。正如在文档中所提到的,它只是提到了以下的saveas。

代码语言:javascript
复制
use mikehaertl\pdftk\Pdf;

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

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

但是我的代码没有给出任何输出。我试着调试如下

代码语言:javascript
复制
// Check for errors
if (!$pdf->saveAs('new.pdf')) {
    $error = $pdf->getError();
}

没有留言。后来我发现,Pdftk还没有被处决

代码语言:javascript
复制
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- pdftk命令来执行pdftk。您可以将$options作为其命令类的第二个参数传递给构造函数:例如。

代码语言:javascript
复制
$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创建的。这条路是什么?这个项目可以在linux或窗口服务器中移动吗?我需要任何第三方软件安装吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-16 22:12:30

您需要从这里安装pdftk - pdftk官员。安装后,如果您在windows,请确保您的系统环境变量被设置为执行pdftk,只需在命令提示符中运行即可进行测试。

pdftk版本

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

代码语言:javascript
复制
$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具有在您的窗口中执行脚本的权限,并且它可以写入文件系统。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63367121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档