客户有一个PDF的表单,需要在线填写,打印。
尝试过将PDF转成word去操作,但是转换成word之后,PDF的表单格式乱七八糟的没办法修改。
找到一个老外的PHP类[SetaPDF-FormFiller],但是需要180多欧的授权费用
最终找到了 php pdftk,pdftk 需要依赖PDFtk来运行,PDFtk是运行在服务端的一个命令行工具
具体实现起来很简单,
$pdf = new Pdf('tpl.pdf');
$res = $pdf->fillForm([
'Account' => 'Jason Chen'
])->needAppearances()->saveAs('save.pdf');
if (!$res) {
echo $pdf->getError();
}
下面记录一下安装过程。
CENTOS服务器 6 和 7 有一些区别
CENTOS6
sudo yum install libgcj
sudo rpm -i pdftk-2.02-1.*.rpm
CENTOS7
由于CENTOS7的yum库中不再支持libgcj
找到了一个老外的
x86_64
yum localinstall https://www.linuxglobal.com/static/blog/pdftk-2.02-1.el7.x86_64.rpm
i686
yum localinstall https://www.linuxglobal.com/static/blog/pdftk-2.02-1.el7.i686.rpm
最后在项目中引入
composer require mikehaertl/php-pdftk
这个类库根本运行不起来,查看到发现没有baseCommand,请问这个是需要在什么框架上运行?