2012-01-27 7 views
0

私はFPDFを使用してPHPからいくつかのPDFを生成します。それは小さなexempleのために素晴らしい仕事をしましたが、私はそれに問題があります:それはコンソールで見たいくつかのデータを返しますが、ファイルはありません!FPDFはPDFファイルの代わりにテキストを返します

ouputルックスが好きです - それはPDFファイルですか?

%PDF-1.4 
0 obj 
<</Type /Page 
/Parent 1 0 R 
/Resources 2 0 R 
/Group <</Type /Group /S /Transparency /CS /DeviceRGB>> 
...... 
<< 
/Size 15 
/Root 14 0 R 
/Info 13 0 R 
>> 
startxref 
22291 
%%EOF 

そして、私のPHPはかなり長いです、ここでのペーストビンはhttp://pastebin.com/ri5uAeie

私のPHPは正しい、本当に奇妙なしに見えるのですか?

UPDATE

私はparamはURLを投げると$ _GETを渡すと、それはあなたの助けみんなのおかげで:)うまく機能!

答えて

3

おそらく、どこかに空白行を追加しています(おそらくinc/DataLib.php)。

更新#1:

  1. Content-Typeapplication/pdf次のようになります。

    回答によれば、2つの不審な点があります。理論的にはPDF::Output()メソッドが追加されます(php_sapi_name()cliを返す場合を除きます)。これはWeb環境では不可能です。

  2. デスクトップPDFリーダーで空白のページを表示すると(エラーではなく)、文書が検出されなくなったり、文書が実際には空白になったりして破損していることが示唆されます。

ないアイデアについて#1(ファイアウォール?プロキシ?ウイルス対策?)がありますが、少なくともPHPのエラーメッセージやそこに属していない何かの検索でPDFソースを検査できます。

更新#2:

私は最終的にあなたの問題が何であるかを理解すると思います。 JavaScriptを使用してAJAXを介してPDFファイルを取得することはできません。すべてのJavaScriptは次のとおりです:

  1. ページのDOM(およびPDFはHTMLではありません)を操作します。
  2. 完全なDOMページを別のものに置き換えます(ブラウザにどのようなコンテンツタイプがあるかを伝える方法はありません)。

あなたのPDFジェネレータは、ロケーションバーから直接呼び出すとうまくいくと思っています。

+0

nah、空白行はエラーを返します。私はここにエラーがない:) THTはbtwを助けるために! – Xavier

+0

申し訳ありません。基本的な質問は次のとおりです。1)生成された 'Content-Type'ヘッダ()は何ですか? 2)ブラウザにPDFプラグインがありますか?3)ファイルをディスクに保存し、PDFリーダーで手動で開くと、ファイルはレンダリングされますか? –

+0

1)contentType: 'application/x-www-form-urlencoded' - Jquery POST 2)うん、私はChromiumを使用しています。私はFPDFを数日前に作った... 3)私はそれを開くことができますが空白です 私はまた、別のタブで私のPHPを開こうとするが、それは良くはなかった.. – Xavier

0

これは、引数を指定しないでFPDF::Output()を呼び出す方法です。適切なヘッダーを設定し、PDFをブラウザにテキストとして送信します。ファイルをダウンロードするには、Output()にファイル名を指定し、2番目の引数を'D'に設定する必要があります。

+0

よく私は既に試しています $ pdf-> Output( 'test.pdf'、 'D'); これは同じ出力です... – Xavier

関連する問題