PHP导入PDF表单和输出PDF表单
PHP import PDF form and output PDF form
我有一个可填写的 PDF 表单,我需要使用 PHP 在 PDF 上写一些数字(不一定是在表单字段中,而只是在 PDF 上),然后再次输出 PDF,其中包含原始文档的所有可填写字段有。
FPDI 和 FPDF 正在执行这项工作,但 PDF 可填写字段将在此过程中丢失。
Here is suggested mpdf, most of mpdf examples I found are about making new PDF files from HTML. There is 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');
FPDI 无法处理任何动态内容,例如表单字段或任何其他注释,如其 FAQ 中所述。
如果您想向现有 PDF 添加新内容,您应该查看 SetaPDF-Stamper component(不是免费的!)。
我设法使用 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');
我有一个可填写的 PDF 表单,我需要使用 PHP 在 PDF 上写一些数字(不一定是在表单字段中,而只是在 PDF 上),然后再次输出 PDF,其中包含原始文档的所有可填写字段有。
FPDI 和 FPDF 正在执行这项工作,但 PDF 可填写字段将在此过程中丢失。
Here is suggested mpdf, most of mpdf examples I found are about making new PDF files from HTML. There is 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');
FPDI 无法处理任何动态内容,例如表单字段或任何其他注释,如其 FAQ 中所述。
如果您想向现有 PDF 添加新内容,您应该查看 SetaPDF-Stamper component(不是免费的!)。
我设法使用 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');