![](/img/trans.png)
[英]FPDF-Merge Error: field not found in pdf template using fpdm.php to fill form data
[英]Fill form with fpdm.php doesn't work with select value
這是我的第一個問題。
我有一個pdf表格,我需要用php填充,它與fpdm可以正常工作。 當我在chrome或Architect 4中打開文件時,即使下拉列表也被填充,但是當我在Adobe Reader中打開同一文件時,除了下拉列表以外的所有內容都被填充。
有人對此有任何想法嗎? 我認為這可能是FDF和PDF之間的轉換問題,但是我真的不知道如何解決它。
編輯:
$fieldsI = array(
/* ---------------- Beneficiaire 1 ----------------*/
'ZA1benefNom1' => $InfosFormateur[0]['nom'],
'ZA1benefPrenom1' => $InfosFormateur[0]['prenom'],
[...]
'ZA4nature1' => 'H ', //strval('H'),
'ZA4montant1' => strval($montant[$InfosFormateur[0]['IdProfil']])
);
$pdf = new FPDM('pdf/das2/form2.pdf');
$pdf->Load($fieldsI, true); // second parameter: true if UTF-8
$pdf->Merge();
我不知道可以在哪里上傳結果。
順便說一句,我還有另一個問題,當我想合並所有填充的pdf時,我嘗試了許多解決方案。 我幾乎要工作了:
public function combine_pdf($outputName,$fileArray)
{
$merged_pdf = "";
foreach($fileArray as $filename){
$merged_pdf .= " ".$filename;
}
exec("pdftk".$merged_pdf." cat output ".$outputName);
header(sprintf('Location: %s', $outputName));
}
但是,當我打開在Adobe Pdf閱讀器中生成的pdf時,一切再次空白。
我找到了解決方案。 工作正常!
您需要在服務器上使用pdftk:
public function combine_pdf($outputName,$fileArray, $rep = "download/DAS/")
{
$merged_pdf = "";
foreach($fileArray as $filename){
$merged_pdf .= " ".$filename;
}
exec("pdftk".$merged_pdf." cat output ".$rep."tmpfinal.pdf "); //merge all my filled pdf to 1 pdf
exec("pdftk ".$rep."tmpfinal.pdf generate_fdf output ".$rep."final.fdf"); //generate a clean fdf from this pdf
exec("pdftk ".$rep."tmpfinal.pdf fill_form ".$rep."final.fdf output ".$outputName); // then use the pdf as template filled by the fdf.
header(sprintf('Location: %s', $outputName));
}
希望對別人有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.