Заполнить форму с помощью fpdm.php не работает с выбранным значением

это мой первый вопрос.

У меня есть форма 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));
}

Но когда я открываю PDF, созданный в Adobe Pdf Reader, все снова становится пустым.

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));
}

Я надеюсь, что это поможет кому-то

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]