tow*_*wer 2 php forms pdf fpdf
我有一个可填写的 PDF 表单,我需要使用 PHP 在 PDF 上写一些数字(不一定是在表单字段中,而只是在 PDF 上),然后再次输出带有原始文档具有的所有可填写字段的 PDF。
FPDI 和 FPDF 正在完成这项工作,但在此过程中 PDF 可填写字段将丢失。
这是建议的 mpdf,我发现的大多数 mpdf 示例都是关于从 HTML 制作新的 PDF 文件的。有mpdf 手册,但我不确定哪些功能可以解决我的问题。
下面的代码可以完成这项工作,但如上所述,所有 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');
Run Code Online (Sandbox Code Playgroud)
我设法使用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');
Run Code Online (Sandbox Code Playgroud)