我有一个可填写的PDF表单,我需要使用PHP在PDF上写一些数字(不一定是表单字段,只是在PDF上),然后再次输出PDF,原始文档包含所有可填写的字段。
FPDI和FPDF正在完成这项工作,但PDF可填写字段将在此过程中丢失。
Here建议使用mpdf,我发现的大多数mpdf示例都是关于从HTML制作新的PDF文件。有mpdf manual,但我不确定哪些函数可以解决我的问题。
下面的代码完成了这项工作,但正如所说的那样,所有PDF表单字段都会消失。
include('FPDF-master/fpdf.php');
include('FPDI1_6_1/fpdi.php');
//include('mpdf60/mpdf.php');
$pdf = new FPDI();
$pdf->AddPage();
$pdf->setSourceFile('myfillableform.pdf');
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx, 0, 0);
$pdf->SetFont('Times', 'B');
$pdf->SetTextColor(0,0,0);
$pdf->SetXY(140, 45);
$pdf->Write(0, $someNumber);
$pdf->Output("newfillableform_with_number.pdf", 'F');
答案 0 :(得分:2)
我设法使用FPDM解决了我的问题。 FPDM允许填写PDF表单字段(包括只读字段)。
所以我刚用Acrobat Pro在我的PDF文档中添加了另一个字段,使该字段只读并使用FPDM我可以将我的数字或文本写入该只读字段,可以输出PDF并保留文档中的所有其他字段可以按要求填写。
require('fpdm/fpdm.php');
$fields = array(
'field' => "$someNumber"
);
$pdf = new FPDM('myfillableform.pdf');
$pdf->Load($fields, false);
$pdf->Merge();
$pdf->Output("newfillableform_with_number.pdf", 'F');
答案 1 :(得分:0)
FPDI无法处理任何动态内容,例如表单字段或其FAQ中记录的任何其他注释。
如果您想向现有PDF添加新内容,请查看SetaPDF-Stamper component(不是免费的!)。