PHP を使用して、ブラウザーに出力したい PDF フォームに入力しています。ここにある関数を使用しています: http://koivi.com/fill-pdf-form-fieldsで xfdf ファイルを作成します。次に、次のコードを使用してフォームに入力し、結果のファイルをブラウザーに出力します。
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="filename.pdf"');
passthru("/usr/local/bin/pdftk forms/pdf_form.pdf fill_form filename.xfdf output - ");
ブラウザから作成した PDF を開くと、adobe pdf リーダーから「サポートされているファイル タイプではないか、ファイルが破損しているため、Adobe Reader は 'filename.pdf' を開けませんでした (たとえば、 、メールの添付ファイルとして送信され、正しくデコードされませんでした)。」同じ PDF を別のリーダーで開いてもエラーは発生しませんが、ユーザーは acrobat を使用します。
対照的に、コードを次のように変更すると:
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="filename.pdf"');
passthru("/usr/local/bin/pdftk forms/pdf_form.pdf fill_form filename.xfdf output filename.pdf ");
結果の PDF を tmp フォルダーから開いて、読み取り、編集できます。「出力 - 」オプションが何らかの形で PDF を破損しているようです。
私の質問はこれです: 私は何か間違ったことをしていますか? 不足しているコードや、これを達成するためのより良い方法はありますか?
- PHP バージョン: 5.3.19; サーバー OS: Mac OS 10.7.5; クライアント OS: Mac OS 10.7.5; テスト済みのブラウザ: Chrome、FireFox。テスト済みのリーダー: Adobe PDF Reader、プレビュー。PDFTK バージョン: 1.4.5