エンドユーザーが自分でレイアウトをカスタマイズできるPDFを生成するためのベストプラクティスを考えるために、数日を費やしました。PDF出力は、サーバーに保存するか、PHPファイルに返送して、PHPファイルで保存できるようにする必要があります。また、PHPファイルは、正常に処理されたことを認識する必要があります。
これを行う最良の方法は、XML、XSLT、およびApacheCocoonを使用することだと思いました。しかし、これが可能かどうか、または同様のことをしている人々の情報が見つからないため、それが良い考えかどうかはわかりません。珍しい問題ではありません。
このアイデアは、XSLTを介してXMLをPDFに変換するCocoonについて読んだときに思いついたものです。
http://cocoon.apache.org/2.1/howto/howto-html-pdf-publishing.html
変数を取り込むことができる:
http://old.nabble.com/how-to-access-post-parameters-from-sitemap-td31478752.html
これは私が念頭に置いていたものです:
- phpファイルがユーザーによって呼び出されると、phpファイルは特定の名前のソースXMLファイルを生成します
- 次に、phpファイルは(同じWebサーバー上の)Cocoonに、XMLファイルにユーザー定義のXSLTを適用するように要求します。ここでは、適用するXSLTを知るためのパラメーターが必要になります。
- リクエストはPHPファイルによって処理され、サーバーにPDFとして保存され、後でメールで送信できます。
これはまったく機能しますか?これを処理するためのより良い方法はありますか?
主要な問題は、ユーザーがPDFのレイアウトを自分でカスタマイズできる必要があることです。また、PDFを保存して、後でメールで送信するためのサーバーが必要です。ユーザーは注文確認や請求書などに使用します。ユーザーごとにレイアウトをハードコーディングしたくありません。