2016-11-18 5 views
1

私は最終的に別のブラウザウィンドウでプレビューとして表示する必要があるPDFドキュメントを作成するために、AJAXを通してPDF作成者クラスFPDFを呼び出します。私は、この要素を使用することができることを知っている:HTML/PHPがメモリからsrcにファイルを解析する

echo '<embed src="'.$complete_path.'" type="application/pdf" width="100%" height="'.MAX_HEIGHT.'px">'; 

しかしsrcは、私の知る限りでは、ディスク上のfilepathを指します。 PDFファイルをディスクに保存するのを避けたいのです。だから私の質問は、srcに与えられたメモリバッファを解析する方法がある場合、それを行う方法ですか?

+1

srcは、サーバー*から要求されたパスを指します。サーバーは静的ファイルを単に通過するか、ファイルを生成するスクリプトを実行するかを決定します。 –

+0

@Benなぜ、pdfを生成し、それを解除することによってメモリから変数を削除しないのですか?それをブロブとして解析するか、クライアントに何かを解析するにはjavascript/AJAXなどが必要です。私には少し残忍に見えます。 – Werner

+0

@ Franz Gleichmann - 言い換えれば、私はどんな場合でもファイルを生成する必要がありますか? – Ben

答えて

2

AJAX経由で呼び出す場合は、コメントに示唆されているように、サーバーに一時ファイルを作成し、クライアント側にURLを返すことをお勧めします.AJAXもう1つはembedタグのリクエストです。

私はここでHTTPの仕組みを忘れていると思います。 URLからPDFファイルを返すことができます。 embedタグを作成し、src属性をスクリプトに設定するだけで、FPDFオブジェクトの内容がOutputになります。このような。

echo '<embed src="/path/to/script.php" type="application/pdf" width="100%" height="'.MAX_HEIGHT.'px">'; 

そして、/path/to/script.phpファイルには、PDF生成ロジックを配置します。

// Create FPDF instance, write content, ... 
$FPDF->Output(); 
+0

'というリンクを付けるのはなぜですか?それが動作します。あなたの答えの第二の部分は私が欲しいもの(必要)であり、興味深いものです。私はそれを試して、後で戻ってきます。ありがとう、ありがとう。 – Ben

+0

私はあなたが良い方法であることを伝えることができます:)。必要に応じてリソースURLを使用するだけで、アプリケーションの他のページにPDFを埋め込むことができます。 – jorgonor

関連する問題