2012-03-12 7 views
4

私は、顧客の情報の形で膨大な量のデータを扱うWebサイトを持っています。現在、この特定のサイトには何百もの顧客がおり、毎日各顧客には5〜20の注文があります。ページ区切りで動的に生成された文書の代わりにPDFに置き換えて

サイトの所有者は、顧客の納品情報を含む別のページの注文リストを含むページが必要なので、印刷してパッケージに貼り付けることができます。ただし、新しいクライアント情報はそれぞれ新しいページから開始する必要があります。

enter image description here

例:

--startページ---

顧客1つの配達先

顧客1回の注文情報

「注文情報であれば、ここでいくつかの空きスペース短いです "

- 2注文情報を継続---次のページ----

顧客2配達先

顧客2発注情報

------次のページ---

お客様(これは、唯一の数行ことができ、下記の大きな空きスペース)

「ここにいくつかの空の空間」

----次のページ---

01を残すことができます出力へのI TREIDプレーンHTMLし、ページを印刷するには、ページがすべて台無しにして

カスタマー3 ...


はので、私はそれがでそこにPDFを生成する(私はMPDF53を使用しています)と解きます私の問題がある。

問題は、PDFを生成するのに時間がかかり、多くのシステムリソースを消費するという問題です。私はすでに正常に実行されるためにサーバーの実行時間を増やす必要がありました(デフォルトの30秒から)。顧客が成長するにつれて、リストは成長し続け、実行時間も長くなります。もし100人の顧客リストが30秒を超えることができれば、それは1000以上に達したらどうなるのだろうか?

印刷ページ自体にはグラフィックスが含まれておらず、sqlクエリはかなり速く生成されます(これは、htmlで出力したときにページがかなり高速に読み込まれるためです)。

htmlドキュメントで改ページを行う方法はありますか?このページを印刷すると、そのページが正しく改行されるか、pdf世代のスピードを速めることができるか、単に長い実行時間時間。

編集:ページ区切りでもhtml文書だけを使用すると、後でレコードや参照用に保存することができます。

おかげ

+0

他のpdfライブラリを試してみませんか? – Ali

+0

他のpdfライブラリがphpで利用できない場合(私はphpでの経験がない)、Pythonで簡単なサービスを構築することができると確信しています...効率的なライブラリを使い、REST APIやその他のAPIを使用してください。 – Ali

+0

私はHTMLを使用しますが、pdfファイルの作成は遅いので、本当に必要な場合を除いて、 –

答えて

4

私は何年も前に同じ問題を抱えていた、と終了CSSのpage-break-afterプロパティ(詳細はhereを参照)に依存しています。 HTMLでページを生成して、お客様の情報を含むdivにpage-break-after:alwaysを追加してみることもできます。

これは、すべてのユーザーとプラットフォームでの信頼性の高い互換性には依存しませんが、社内アプリケーションの場合は、現代版のFirefox、Chrome、またはIE。

+0

を使用しないでください。これは別の方法でもかまいませんが、私の編集でこのように言われたように、クライアントはファイルをレコード。 – Kaushtuv

+0

HTMLファイルのコピーをダウンロードできます。サーバ上の日付印字されたログファイルに書き出して、その時点でコピーを保存しなくても参照できるようにすることもできます。 – octern

関連する問題