使用 fpdm.php 填写表格不适用于 select 值
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 reader 中生成的 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));
}
希望对大家有所帮助
这是我的第一个问题。
我有一个 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 reader 中生成的 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));
}
希望对大家有所帮助