php - PDFTk не может заполнить детали в pdf после операции addFile - PullRequest
0 голосов
/ 29 апреля 2020

Я использую библиотеку php -pdftk для заполнения данных в заполняемой PDF-форме. У меня одна проблема при использовании этого.

У меня есть 2 заполняемых файла PDF с именами ab c .pdf и xyz.pdf . Я заполняю детали в этих PDF-файлах функцией fillForm и после заполнения детали объединяю эти файлы с помощью операции addFile и сохраняю их с именем abcxyz.pdf .

Теперь, когда я хочу заполнить данные в этом объединенном pdf abcxyz.pdf с помощью fillForm , но я получил ошибку ниже.

Предупреждение : входной PDF не является акроформой, поэтому его поля не были заполнены.

Из-за ошибки новые данные не заполняются в этом объединенном PDF-файле.

Вот пример кода для справки.

$abc = new Pdf('abc.pdf');
// fillForm has by deafault dropXfa set to true
$abc->fillForm(['data goes here']);
$abc->saveAs('abc.pdf');

$xyz = new Pdf('xyz.pdf');
// fillForm has by deafaulr dropXfa set to true
$xyz->fillForm(['data goes here']);
$xyz->saveAs('xyz.pdf');

$pdfList = [
    'abc.pdf',
    'xyz.pdf'
];

$pdf = new Pdf($pdfList[0]);
if (count($pdfList) > 1) {
    for ($i = 1; $i < count($pdfList); $i++) {
        $pdf->dropXfa()->addFile($pdfList[$i]);
    }   
}
$pdf->saveAs('abcxyz.pdf');

$abcXyz = new Pdf('abcxyz.pdf');
$abcXyz->fillForm(['data goes here']);
if (!$abcXyz->saveAs($savePath)) {
    $error = $pdf->getError();
    echo $error;
} else {
    echo "Saved";
}
...