CakePHP 2.3で PDFを作成する方法を調査「mpdf」「TCPDF」「FPDF」
2017/03/11
CakePHP 2.3で PDFを作成する方法
PDFを生成するライブラリを調査
CakePHPから PDFを出力する方法を調べてみましたので、そのレポートをお送りします。
CakePHPに限るわけではありませんが、CakePHP2.Xから PDF出力する方法は、「mpdf」「TCPDF」「FPDF」といったいくつかのライブラリがあるようでしたが、「http://cakephpmemo.blogspot.jp/2013/02/cakephppdf.html」この記事を読んで、TCPDFで実装をしてみることにしました。
とはいえ、上記のサイトでは初心者の私では何を言っているのかわからなかったため、実際に参考にしたサイトは、下記のサイトです。
http://prg.pro-mame.com/index.php?php%2F%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%2FCakePHP2.X%2FTCPDF
TCPDFを利用して PDF出力を実装
このサイトを上から順番に確認してそのまま対応していくと、たぶん問題なく PDFの出力について理解できると思います。
フォントを変える方法なども解説されていますので、実運用に向けてもかなりの参考になるでしょう。
また、インスタンスを生成する(クラスに初期値を設定する)際に設定する各項目と、その値は下記の様になっているようです。
PDF_PAGE_ORIENTATION:用紙の向き[P=縦方向、L=横方向] デフォルトはP
PDF_UNIT:処理単位[pt=ポイント、mm=ミリメートル、
cm=センチメートル、in=インチ] デフォルトはmm
PDF_PAGE_FORMAT :ページフォーマット ( デフォルトは A4 )
※上記は /tcpdf/config/tcpdf_config.php ファイルで定義されています。
また、最初の 2つのサンプルでは、PDFの情報として、「Cell」「text」でテキストの位置と情報を与えています。
いずれも、最初の数値が横軸の座標値を表し、2個目の数字が縦軸の座標を表しています。「Cell」「text」の違いは、「text」が座標の絶対値で設定されるのに対し、「Cell」は相対値(??)で設定されるようです....
————–
1 2 |
$pdf->Cell(10, 10, '日本語テスト'); $pdf->Cell(30, 30, 'Hello World' ); |
————–
————–
1 2 |
$pdf->text(10, 10, '日本語テスト'); $pdf->text(30, 30, 'Hello World' ); |
————–
HTMLを渡すことで PDFにすることも可能
また、PDFのページデザインに関しては、Cell、textといった方法ではなく、HTMLで情報を渡す方法もあります。
実際は、こちらの HTML形式で整形していく方法を取られるのだと思いますが、実際に PDF出力をさせるページを作るとなると、しっかりした HTML(css)のコーディングが必要になりますので、結構骨が折れるでしょうね。
mpdfで PDF出力するための参考サイト
mpdf
http://d.hatena.ne.jp/okinaka/20111103/1320287622
http://blog.syuhari.jp/archives/1992
また、mpdfで作成する場合は、上記のサイトが参考になるのではないかと思います。
また、TCPDF、FPDFに関しては、下記のページも参考になるかと思います。
http://bakery.cakephp-users.jp/2011/02/05/creating-pdf-files-with-cakephp-and-tcpdf/
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
CakePHP3、CakePHP4のバージョンを指定してインストールする詳細な手順を解説
CakePHP3のバージョンを指定してインストールする方法を詳細解説。CakePHP3のインストールはComposerを使うため設定もほぼ自動で完了。データベースの接続情報を記載すればアプリ開発のベースが整う。
-
CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定
CakePHP3の Authコンポーネントや CakeDC/Usersプラグインなどを利用したユーザ管理・認証システムにおいて、ログインしていなくても見ることができるページの設定方法を解説。
-
CakePHP 2.3 Search Pluginで検索処理 その3入力エリア一つで複数の項目を同時に検索する方法
CakePHPの検索プラグイン Search Pluginの検索処理の中で入力エリア一つで複数の項目を同時に検索する方法を解説。
-
CakePHP3のForm Helperの使い方のまとめ
CakePHP3になりフォームヘルパーの使い方も大きく変わりましたので、使い方をまとめました。基本的な使い方からプラスアルファの便利な使い方まで紹介。
-
CakePHP 2.x系 Viewでのコメントの記述方法など
CakePHPにおいて View、ctpファイルでコメントを記述する方法を解説。
-
CakePHP 2.3 Search Pluginで検索処理 その2表示件数を動的に変える方法
CakePHPの検索プラグイン Search Pluginの検索処理の中で動的に表示件数を変える方法です。
-
CakePHP4のフラッシュメッセージの表示場所、デザインを変更する方法を解説
CakePHP4のエラーメッセージ、完了メッセージなどを表示するフラッシュ処理の解説。Controller、レイアウトファイル、テンプレートファイルでそれぞれ処理を指定する。
-
CakePHP3のHtmlHelperのLink設定のまとめ。mailto、URL、Root/Homeのリンクなども
CakePHP3でHtmlHelperを使ってリンクの設定をする方法のまとめ。基本形からURLを指定、class、id、targetを指定、mailtoのリンク、画像をアンカーに、JavaScriptのダイアログなどの解説。
-
CakePHP 2.3 bakeの超初心者向けフォロー講座
CakePHP 2.3 bakeの超初心者向けフォロー講座
-
CakePHP3のCakeDC/Usersのログイン後のリダイレクトとユーザ権限管理の設定解説
CakeDC謹製Usersプラグインの紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。