web-dev-qa-db-ja.com

PHPに最適なPDF-APIはどれですか?

これらのどれがPHPに最適なPDF-APIですか?

107
coderex

個人的には、 tcpdf を使用します。これは、fpdfの拡張および保守されたバージョンです。

52
gpilotino

mpdf サイトから: "mPDFは、UTF-8エンコードHTMLからPHPファイルを生成するPDFクラスです。FPDFおよびHTML2FPDFに基づいており、多くの機能強化。」

mpdfは、言語処理およびUTF-8サポートに関してFPDFよりも優れています。 CJKのサポートについては、フォントの埋め込みだけでなく、フォントのサブセット化もサポートしています(したがって、CJK PDFはオーバーサイズになりません)。 TCPDFとFPDFは、mpdfのUTF-8とフォントのサポートには何もありません。バージョン5.0の時点で、いくつかのオープンソースフォントも付属しています。

39
velcrow

これは、各ライブラリの最も基本的な機能のパフォーマンスの領域で、tPDFに対してfPDFがどのように立ち上がるかを簡単に確認したものです。

速度テスト

fPDFを使用して2000 PDFファイルを処理するのに17.0366秒|| tcPDFを使用して2000 PDFファイルを処理するのに79.5982秒

ファイルサイズチェック(バイト単位)

788 fPDF || 1,860 tcPDF

使用されたコードは可能な限り同一で、テキストのないきれいなPDFファイルのみをレンダリングします。これは、2011年6月22日の各ライブラリの最新バージョンも使用しています。

28
dan

Htmlレンダリングに関しては、mpdfがtcpdfよりも優れていることがわかりました。 CSSスタイルをより良く解析し、元のhtmlと非常によく似たPDFを作成できます。

mpdfは、ボーダー半径やグラデーションなどのCSSをサポートしています。

Html to pdfに関してmpdfがあまり話題にならないのを見て驚いています。

こちらの例をご覧ください http://www.mpdf1.com/mpdf/index.php?page=Examples

請求書、領収書、簡単な印刷などの設計に役立ちました。しかし、ウェブサイト自体は、mpdfから生成されたpdfはサイズが大きくなる傾向があると言っています。

21
Silver Moon

個人的には、非常に高速なので、単純なPDFページには dompdf を使用することを好みます。 HTMLソースを入力するだけで、必要なページが生成されます。

ただし、より複雑なデザインの場合は、より古典的な pdflib を使用します。これは、PHPのpeclとして使用できます。デザインをより細かく制御でき、ピクセル完璧なフォームのようなより複雑なデザインを行うことができます。

11
Mike Valstar

http://sourceforge.net/projects/html2ps/ は、cssと3cを互換的に必要とする場合に最適です。

サーバーにソフトウェアをインストールできる場合は、 http://wkhtmltopdf.org/ を使用することをお勧めします。

Wkhtmltopdfを使用するdrupalモジュールもあります:)

PHPは多くのリソースを使用してHTMLをPDFに変換します。私見では、PHPはそれを行うには適切な言語ではありません(多数の変換または大きなファイルを変換する場合)

5
Strae

Zend Frameworkの Zend_Pdf は本当に良いです。出力と複雑さの制御に関してpdflibと同等であり、純粋なphpソリューションであるため、より移植性があります。ただし、pdflibよりも低速で、より多くのメモリを使用します。 Peclモジュールは、PHPソリューションよりも常に効率的です。

DOMPdf は、pdfをすばやく作成する最も簡単な方法です。マイクが言ったように、htmlをフィードすると、pdfが出力されます。内部では、レンダリングエンジンとして r&ospdf または pdflib を使用するオプションがあります。

4
txyoji

個人的にPHPからXSL:FOを生成し、 Apache FOP を使用してPDFに変換します。 PHPネイティブのソリューションではなく、あまり効率的でもありませんが、非常に複雑なレイアウトでPDFを生成する必要がある場合でもうまく機能します。

3