【发布时间】:2020-01-25 07:01:24
【问题描述】:
我正在尝试使用 PHP 来填充现有 PDF 上的表单域并向其中添加图像。
我找到了FPDM 库来填写表单字段:
$formInputArray = ['field1' => 'test value', 'field2' => 'second value'];
$pdf = new FPDM('orginal-file.pdf');
$pdf->getEntries($templatePDF, 'PDF');
$pdf->Load($formInputArray);
$pdf->Merge();
$pdf->Output('F', 'form-filled-file.pdf');
到目前为止有效。
在下一步中,我尝试将带有 Fpdi 类的图像添加到编辑后的文档中:
$pdf = new Fpdi();
$pdf->setSourceFile('form-filled-file.pdf');
$pageId = $pdf->importPage(1, \setasign\Fpdi\PdfReader\PageBoundaries::MEDIA_BOX);
$pdf->addPage();
$pdf->useTemplate($pageId);
$pdf->Image('test-image.jpg', 150*0.39, 150*0.39, 100*0.39);
$pdf->Output('F', 'finished-file.pdf');
问题是,Fpdi 正在将模板 pdf 结构转换为新的 pdf 结构。所以所有给定的表单字段都消失了。
所以问题是:
如何将图像添加到带有表单域的现有 PDF?
我还查看了 iText / PDFtk(服务器端)和 mPDF PHP 库,但由于 GPL 许可,它们不是正确的。
是否有其他方式或其他库来填充表单字段并将图像添加到 PHP 中的 PDF?
【问题讨论】:
-
F.e.使用 mPDF,您只需将一些带有
src的 htmlimg标签添加到您的图像到您的form-filled-file.pdf,可能与fpdf相同。 -
没错。问题是,mPDF 使用的是 GPL 许可证,我不能使用这种许可证类型,就像我为 mPDF 库编写的那样。
-
是否也欢迎付费解决方案?
-
@JanSlabon 是的,付费解决方案也是一种选择。