pdftk未在php中执行
我不能在php中执行pdftk。正如在文档中一样,saveas只提到如下内容pdftk未在php中执行,php,pdftk,php-pdftk,Php,Pdftk,Php Pdftk,我不能在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'); 但是我的代码没
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;
}
}
这是什么意思?我已从composer安装。当阅读github问题时,开发人员的回答可能是我的问题。是
您需要设置pdftk命令的路径,请参见
我不清楚如何设置路径,文档中没有突出显示。这里只提到
该类使用php外壳命令来执行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或Windows server中移动此项目吗?我需要任何第三方软件安装吗?您需要从这里安装pdftk-。安装后,如果您在windows上,请确保将系统环境变量设置为执行pdftk,只需在命令提示符下运行即可进行测试 pdftk——版本 如果这在命令提示符下起作用,则表示路径正确。其次,如果无法在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有权限在您的windows中执行脚本,并且可以写入文件系统。您需要从这里安装pdftk-。安装后,如果您在windows上,请确保将系统环境变量设置为执行pdftk,只需在命令提示符下运行即可进行测试 pdftk——版本 如果这在命令提示符下起作用,则表示路径正确。其次,如果无法在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具有在windows中执行脚本的权限,并且可以写入文件系统