skillup

技術ブログ

PHP

PHPのPDFライブラリに関して。

投稿日:

今月PHPでPDFを出力する要件があったんで色々見てきましたので、まとめを。

昨年もちょっとやりましたが、色々と面倒です。

fpdfはかなり古くダメダメっぽいですね。昨年はじめにPDFを使う要件があって、これ使ってましたが。。。座標決めて以前はこれでコツコツと作っていたんですが、セル内での改行がうまくできない。fpdiを使ってテンプレートは使えるのですが・・・

代替案としてTCPDFを採用することに。fpdfよりはまあ使え、HTMLをそのまま組み込んだりできたんですが、ごくごく限られたCSSしか使えない・・・確かmarginやpaddingがダメで、ほんの少し字をずらしたいとかそういったこともできない。

今回はレイアウトにそれほどこだわるものじゃなかったんでなんとかなりましたが・・・・

まだ使ったことないけどwkhtmltopdf が良さげなようです。

PDF系のライブラリで注意しておきたいこと。

  • ある程度新しいものか
    古すぎると情報出てこないでソースの中を見るとかそういうめんどい事になりがち。
  • 日本語出せるか
    最初の難関。フォント設定したりしないといけない。
  • 通常領域内のレイアウトの自由度。
    座標はかなりめんどいが逆に言えば地道にやれば必ずできる
  • テーブルが作れるか
    自動で作成するor HTMLなど。
  • テーブル内の文字寄せ、幅の制御、複数改行ができるか
    帳票作るときにこれができないと不恰好。複数行が盲点になりがちなので要注意。
  • 自動ページ切り替え(特にテーブルがらみ)
    あれば嬉しい

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

WordPressでのアイキャッチ画像

このブログと並行して更新しているガチンコ塾のブログですが、アイキャッチをブログ内にいれました。 画像をいれると文章の見やすさもだいぶ変わってくると思うので、アイキャッチの入れ方についてここに書いておき …

no image

正規表現(/を含むとき)

PHPの正規表現ですが、判定する文字列の中にスラッシュが入っている時の処理はデリミタを//ではなく{}でくくればOKです。 例えば数字2桁/数字1桁をチェックしたいとき [crayon-6481308 …

no image

FastCGIに関して

nginxについて学習してきましたが、今回はphp-fpmについてです。 Contents1 そもそもの構成2 CGIのメカニズム3 FastCGI4 nginxでの設定に関して4.1 fastcgi …

no image

CakePHPでの数字カンマ区切り&PHP&MySQL曜日の出力

今回は主に時間やお金の表示など、出力に関するネタです。 Contents1 Cakeでのカンマ区切り1.1 単純なカンマ区切り 例1,0001.2 \をつけるケース 例 \1,0001.3 円をつける …

no image

PHPの無名関数+array系の関数

PHPの無名関数について。 PHP5.3.0以降で実装され、概念としては知っていましたが、あまり使ったことがありませんでした。 今開発しているPHPの案件で無名関数のソースをみたので、復習もかねてメモ …

アーカイブ