это мой первый вопрос.
У меня есть форма 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, все снова становится пустым.
Я нашел решение. Работает !
Вам нужен 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));
}
Я надеюсь, что это поможет кому-то
Других решений пока нет …