簡體   English   中英

用fpdm.php填寫表格不適用於選擇值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM