skillup

技術ブログ

PHP

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

投稿日:

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

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

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

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

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

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

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

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

-PHP
-

執筆者:


comment

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

関連記事

no image

CakePHP3 日付ライブラリ(Time)について

CakePHPには標準でいろいろなライブラリが入っていますが、日付ではCake\I18n\Timeというライブラリが入っています。 内部では3.2より前のバージョンではCarbonだったようですが、そ …

no image

composer最低保証のバージョンを管理

自分の開発端末ではPHPのバージョンが7.1何ですが、上げなければいけないサーバーのバージョンが7.0だったりして、

みたいなエラーが …

no image

CakePHP3系でのテスト処理

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。 Contents1 準備1.1 phpunit1.2 テスト …

no image

laravel Mix

Contents1 laravel Mix2 インストール laravel Mix 実務でlessを使っていて便利なのですが、コンパイルをatomのプラグインで行っていました。 ※保存されると自動的に …

no image

CakePHPのcomponent

CakePHPのComponentについて。 CakePHPでは各コントローラに共通の処理をComponentとしてモジュール化することができます。 わかりやすいところでいえば認証のAuth,Sess …