使用 fpdm.php 填写表格不适用于 select 值

Fill form with fpdm.php doesn't work with select value

这是我的第一个问题。

我有一个 pdf 表格,我需要填写 php,它可以与 fpdm 一起正常工作。当我在 chrome 或 Architect 4 中打开文件时,甚至下拉列表都被填满了,但是当我在 Adob​​e 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));
    }

但是当我打开在 Adob​​e 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));
 }

希望对大家有所帮助