PHPスクリプトからPDFに入力しようとしています。次のURLでSid Stewardの記事をフォローしています。
CentOS Linux ディストリビューションでPDFTkパッケージを構成しました。コマンド プロンプトから pdftk を実行できます。FDF フォームが PDF とマージされ、平坦化された (塗りつぶされた) PDF が正常に生成されます。次のコマンドを使用して、シェルを使用して Pdftk をテストしています。
pdftk /tmp/form.pdf fill_form /tmp/fdfbm0pe7 output /tmp/filledform.pdf flatten
しかし、PHP で同様のコマンドを実行しようとすると、エラーが発生します。パススルーコマンドがエラー コード11で失敗しています。以下は、コマンドを実行するために使用しているphpコードです。
$command = 'pdftk form.pdf fill_form '. $fdf_fn. ' output - flatten';
passthru($command, $error);
上記の$fdf_fnには FDF ファイル名があります。form.pdfは入力可能な PDF フォームです。上記のコード行を提供したform.pdfと PHP スクリプト ファイルの両方が同じフォルダーにあります。shell_exec('pdftk')をエコーして PHP を介して PDFtk が正しく実行されていることを確認しましたが、標準のヘルプの詳細が返されていました。
詳細を説明すると、pdftk へのパスは/usr/bin/で、PHP スクリプトと PDF フォーム ファイルは/var/www/html/pdfmergeの下にあります。
PHPを介したコマンドの実行がエラーコード11で失敗しているという私が間違っていることを教えてください。