2009-11-28 11 views
7

私は素晴らしいヘッダー/フッターでPDFの請求書とPDFタイムシートを生成する必要があるPHPアプリケーションを持っています。 Stackoverflowユーザーの中には、TCPDFを使用してPDF文書を作成することをお勧めします。どのように私は私に近づくかを決めるんPDFHTMLからPDFへのプログラミングとPHPによるプログラミングによるプログラムの作成

にHTML変換)

$tcpdf->SetFillColor(255, 0, 0); 
    $tcpdf->SetTextColor(255); 
    $tcpdf->SetDrawColor(128, 0, 0); 
    $tcpdf->SetLineWidth(0.3); 
    $tcpdf->SetFont('', 'B'); 

2:プログラムそうのようなPDFのフォーマット)

1:私の研究では、私は、PDFを生成するには2つの方法を発見しました使用する必要がありますか?

+0

ここで私は間違いなく[あなたはウェブサイトでPDFファイルを動的に作成するためのチュートリアル](http://blog.geotitles.com/2011/09/tutorial-on-dynamically-creating-pdf- file-in-websites /) –

+0

上記のリンクは古くなっているようです。 – srm

答えて

2

Zend_Pdfをお勧めします。これは、お使いの分類に応じたプログラム方法です。

HTML抽象化は素晴らしいですが、完全なジオメトリベースの描画APIを完全に利用できるとは思いません。 UTF-8をサポートしていないfpdfのようなライブラリを注意して、貧しい人のパーサを使ってHTMLをPDFに変換してください。

あなたのアプリケーションに関しては、テンプレートインボイスを生成するシステムを作成しました。私のユーザは、Zend_Pdfによって抽出されたPDFテンプレートをアップロードすることができます。このテンプレートは、生成された請求書の各ページに使用され、簡単にカスタマイズできます。

私の読者は主にこれらのテンプレートを作成できるグラフィックデザイナーであることに注意してください。ここでは適切な解決策でした。あなたの読者がHTMLに精通しているだけであれば、HTMLをPDFに変換することが最良の方法かもしれません。

+0

リンクが壊れています –

+0

Zend_Pdfが放棄されました - https://github.com/zendframework/ZendPdf - 彼らは代わりとして[TCPDF](https://tcpdf.org/)を推奨します。 –

3

私は常にPDFを動的に作成することを推奨しますが、エンドユーザーツールを使用して編集できるテンプレート、または少なくともプログラマーでなくてもかまいません。あなたの場合、それはおそらくHTMLでしょう。私にとって、理想的なソリューションは、Officeテンプレートを使用し、プログラムで値を入力し、技術的に可能な限りいつでもPDFに出力することです。私はtbsOOOを使用してPHPでオフィステンプレートの充填部分を行い、それはかなりうまく動作します。

ドキュメントをゼロから作成するよりもテンプレートベースのアプローチを使用する主な理由:ユーザーはテンプレートを適切に設計でき、デザインの変更が必要なときには不要になります。 (そしてに変更する必要があります。)挿入されたデータを何らかの方法で変更または拡張する必要がある場合のみ、プログラマーが参加します。それはあなたの背中の巨大な作業量です。

0

私はまた、HTMLをPDFに変換するお勧めします。

  • おそらく、ページ
  • の一部のHTMLを再利用することができ、後で
  • レイアウト/デザインを変更する方が簡単です
  • を実現することが容易です

ウェブサイトのPDF生成を作成した後、私はhtml2psを使用して、後でpdfにポストスクリプトを変換しました。

1

こんにちは、あなたは2つのオプションがあります。 dompdfを使用すると、ドキュメントを通常のhtmlドキュメントとしてデザインし、CSSでスタイルを設定できます。この文書をpdfにすることができます。私の経験は良かった。私はZend_Viewを使って通常のHTMLページをレンダリングし、これをpdfに変換します。あなたは非常に柔軟なテンプレートを持っているので、html生成ビューであらゆる種類の表示を行うことができます。

list of css-compatabilityを参照してください。

またあなたはlivedocxを使用することができます。これにより、テンプレートベースのアプローチが可能になりますが、より厳密にはHTMLが不要になります。 A integration for Zend Frameworkが進行中です。

0

プログラムの書式設定をお勧めします。

.netの世界では、htmlからpdfへのコンバータとは明らかに否定的な経験があります。彼らは2つのカテゴリに分類されるようです:

あなたのhtmlを「解析」してpdfに変換しようとするもの。これらはしばしば、スタイルシートやテーブルベースのレイアウト以外の何かのためのサポートのようないくつかの本当に基本的な機能が欠けています。

あなたのhtmlをイメージに「印刷」し、それをpdfに貼り付けるもの。これらは、まともな見た目の文書を実際に作り出すことができます。彼らは、スレッドの問題とパフォーマンスの低下を引き起こすライブラリをライブラリにリンクすることによって動作するように見えます。

私はpdf apisで直接的な経験をしてきましたが、phpはこの面でかなり優れたライブラリを持っているようです。

+0

これは実際にはPHPの世界ではまったく異なります。 Zend_Pdfのようなプログラムライブラリは、吸うものです。私が推奨したように、dompdfはhtmlからpdfで非常に良いです。それはライブラリやそのようなもののブラウザをリンクしません(誰もこれについて考えることを敢えてするだろう) –

1

私はすべての3つのアプローチでの豊富な経験があった:

  1. は(箱から出してUTF-8をサポートし、それはFPDFから派生したものの、)TCPDFを使用してプログラム文書を作成します。私はZend Frameworkの巨大なファンですが、Zend_Pdfはまだ十分に豊富ではなく、このように使用される機能セットではないことに注意する必要があります。

  2. グラフィックデザイナーにテンプレートを作成させ、Zend_Pdfを使用してテンプレートをロードしてから追加のコンテンツを追加します。 Zend_Pdf(1.10.2 - 1.10.7)は、新しいページをインスタンス化してドキュメントに追加しようとする場合を除いて、この場合かなりうまくいきました。

  3. htmldocを使用したHTMLからPDFへの変換。このアプローチはひどく吸い込まれましたが、主にhtmldocの制限が原因でした。

私はHTMLからPDFへの変換にTCPDFを使用していませんが、コードの全体的な品質から判断するとかなりうまくいくと思います。 (RTDF、中国語などのグラフィカルに豊富なドキュメントをレンダリングすることを含め、TCPDFを限界まで押し込んだのは間違いなく完璧でした)。したがって、プログラムで行うことを決めた場合は、TCPDFを使用することをお勧めします。ただし、グラフィックデザイナーの素晴らしいテンプレートがあり、上に物を追加するつもりなら、Zend_Pdfを読み込んでそこから変更することは妥当な選択ですあなたはまだワープロや他の基本的なものを実装することになります)。

関連する問題