2009-05-12 2 views
0

私はdompdf(http://www.digitaljunkies.ca/dompdf/)を動作させるために多くの時間を費やしてきましたが、問題は続いています。私はかなり複雑な、Webフォームを記入するPHPスクリプトからPDFを生成しようとしています。スクリプトは$ _GETパラメータ(レコード番号)を受け取り、それに従ってフォームをデータベースのデータで埋めます。私はこのデータを実際に文字列や任意の型の値としてスクリプトに取り込むのに問題はありません。このタイプのデータをPDFに変換するための最良の方法は何でしょうか?

フローは次のとおりです。ユーザーがフォームを完了し、確認ページに移動し、[PDFとして保存]ボタンを追加します。この時点で、2つのうちの1つが起こる可能性があります。現在、ブラウザに表示されているページは、pdfやPHP自体に呼び出されます(scriptname.php?id = xyz)。PHPのhttp_get )関数を呼び出し、HTMLを文字列として格納します。そこから、私はPDFとして正確な表現を準備することに問題があります。

私はfpdfに関するいくつかの話を聞いたことがありますが、実際の例では動的データをソースとして使用できるとは思われませんが、私が間違っている場合は修正してください。

すべての入力をいただければ幸いです。

- ニコラス

答えて

0

まあ、私はdompdfを知らなかった。商業用ライブラリ(PDFlib)または古くなった(?)もの(CPDF、3年間更新されていない)のいずれかを使用するのは不思議です。しかし、よく、それが動作する限り(コンセプトは面白い)。

"ダイナミックデータをソースとして使用する"という意味は理解できません(静的なPDFを生成することを指摘しています)。しかし、FPDFはeのインボイス - コマース商品。私は人々がユニコードデータを扱うためにフォーク(TCPDFのような)を使用しているのを見ました。

HTMLページをFPDFでPDFに変換することはできませんが、データを含むセルの概念を使用して、レイアウトをきめ細かく制御できます。
http://svn.prestashop.com/trunk/classes/PDF.php

0

これまではこの問題に直面したときに、PDFテンプレートにデータを配置するためにFPDFを使用しました。次に、適切なHTTPヘッダーを設定して、ブラウザーに[Download/Save As]ボックスを開くように強制して、ユーザーがPDFを保存するようにします。 PDFを生成し、その後

$this->setSourceFile('pdf_template.pdf'); 
$template_page = $this->importPage(1, '/MediaBox'); 
$this->useTemplate($template_page, 0, 0); 

いるFPDF:FPDFは/ FPDIが適切に、あなたが既に作成したテンプレートのPDFからPDF(http://www.setasign.de/products/pdf-php-solutions/fpdi/)を生成するには、次のようなものを使用拡張するクラスで

使用して出力用:

$this->Output(); 

をあなたもここで見つけたスクリプトを使用してフォーマットするために(限られた)HTMLを受け入れるようにFPDFを拡張することができますhttp://www.fpdf.org/en/script/script41.php

関連する問題