Я пытаюсь заполнить PDF-файл из PHP-скрипта. Я слежу за статьей Сида Стюарда по следующей ссылке URL.
Я настроил пакет PDFTk в дистрибутиве Linux CentOS, и я могу выполнить pdftk из командной строки, и он объединяет форму FDF с PDF и успешно создает плоский ( Заполнено) PDF. Я использую следующую команду для тестирования Pdftk с помощью оболочки.
pdftk /tmp/form.pdf fill_form /tmp/fdfbm0pe7 output /tmp/filledform.pdf flatten
Но когда я пытаюсь выполнить аналогичную команду через PHP, я получаю сообщение об ошибке. Команда passthru завершается с ошибкой с кодом 11. Ниже приведен код php, который я использую для выполнения команды:
$command = 'pdftk form.pdf fill_form '. $fdf_fn. ' output - flatten';
passthru($command, $error);
$fdf_fn выше имеет имя файла FDF. form.pdf — это заполняемая форма в формате PDF. И form.pdf, и файл скрипта PHP, из которого я привел приведенные выше строки кода, находятся в одной папке. Я проверил правильность выполнения PDFtk через PHP, выполнив эхо shell_exec('pdftk'), и он возвращал стандартные сведения о справке.
Просто чтобы предоставить более подробную информацию, путь к pdftk — /usr/bin/, а скрипт PHP и файлы форм PDF расположены в папке /var/www/html/pdfmerge.
Может ли кто-нибудь указать, что я делаю неправильно, что выполнение команды через PHP завершается с ошибкой с кодом 11?