1

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。テスト済みのリーダー: Adob​​e PDF Reader、プレビュー。PDFTK バージョン: 1.4.5
4

1 に答える 1

0

<?php ...たとえば、final なしで使用すると?>、最終的な空白、特に PDF 出力の後に改行が書き込まれないことが確実になります。

于 2013-05-11T00:36:14.840 に答える