0

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

フローは次のとおりです。ユーザーがフォームに入力すると、「PDF として保存」ボタンを追加したい確認ページが表示されます。この時点で、ブラウザに現在表示されているページが直接 PDF にスピンされるか、PHP の http_get( ) 関数を使用して、HTML を文字列として保存します。そこから、正確な表現を PDF として準備する際に問題が発生しています。

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

任意の入力をいただければ幸いです。

-- ニコラス

4

2 に答える 2

0

dompdfは知りませんでした。商用ライブラリ(PDFlib)または古い(?)ライブラリ(CPDF、3年間更新されていない)のいずれかを使用するのは奇妙です。でもまあ、それが機能する限り(コンセプトは面白いです)。

「動的データをソースとして使用する」という意味がわかりません (というか、静的 PDF を生成する意味がないと思います!) が、FPDF は、電子商取引製品の請求書など、さまざまな動的ドキュメントを生成するために使用されます。ただし、フォーク ( TCPDFなど) を使用して Unicode データを処理している人を見ました。

FPDF を使用して HTML ページを PDF に変換することはできませんが、データを含むセルの概念を使用して、レイアウトを非常に正確に制御できます。
そのような種類のコードが表示されます: http://svn.prestashop.com/trunk/classes/PDF.php

于 2009-05-12T19:07:28.893 に答える
0

過去にこの問題に直面したとき、私は PDF テンプレートにデータを配置するために FPDF を使用しました。次に、適切な HTTP ヘッダーを設定することにより、ユーザーが上記の PDF を保存できるように、ブラウザーに [ダウンロード/名前を付けて保存] ボックスを強制的に開きます。

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

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

次に、以下を使用して FPDF に出力用の PDF を生成させます。

$this->Output();

また、FPDF を拡張して、次のスクリプトを使用して書式設定用の (限定的な) HTML を受け入れることもできます: http://www.fpdf.org/en/script/script41.php

于 2009-05-12T19:24:33.203 に答える