我无法在php中执行pdftk。正如在文档中所提到的,它只是提到了以下的saveas。
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- pdftk命令来执行pdftk。您可以将$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创建的。这条路是什么?这个项目可以在linux或窗口服务器中移动吗?我需要任何第三方软件安装吗?
发布于 2020-08-16 22:12:30
您需要从这里安装pdftk - pdftk官员。安装后,如果您在windows,请确保您的系统环境变量被设置为执行pdftk,只需在命令提示符中运行即可进行测试。
pdftk版本
如果这在命令提示符中有效,就意味着路径正确。其次,如果无法在窗口中设置环境变量,可以直接从代码中的程序文件中传递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具有在您的窗口中执行脚本的权限,并且它可以写入文件系统。
https://stackoverflow.com/questions/63367121
复制相似问题