使用fpdm.php填写表单并不适用于选择值

时间:2016-02-11 13:51:03

标签: php forms pdf select pdftk

这是我的第一个问题。

我有一个表格pdf,我需要填写PHP,它与fpdm工作正常。当我在chrome或者Architect 4中打开文件时,甚至下拉列表都被填充但是当我在Adobe Reader中打开相同的文件时,除了下拉列表之外,所有内容都被填充。

有人有任何想法吗?我想也许它是FDF和PDF之间的转换问题,但我真的不知道如何解决它。

编辑:

 "host" : "localhost:1234"

我不知道我可以在哪里上传结果。

顺便说一句,我还有另外一个问题,当我想合并所有我填写的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();

但是当我打开Adobe Pdf阅读器中生成的pdf时,一切都再次空白。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。它正在工作!

您的服务器上需要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));
 }

我希望它会帮助某人