skillup

技術ブログ

PHP

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

投稿日:

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

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

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

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

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

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

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

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

-PHP
-

執筆者:


comment

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

関連記事

no image

Cakeでのリレーションについて

いまさらながらCakeのリレーションについての復習。 基本から。 Contents1 基本的なリレーション1.1 1対N1.2 N対11.3 動的な紐づけ 基本的なリレーション 下記のようなテーブル構 …

no image

cakePHP小ネタ集(Authの複数認証)

最近よく触っているcakePHPの小ネタなど。 Contents1 Authコンポーネント 複数の認証2 自動のdivタグを出力しない3 Cakeでのプルダウン作成 Authコンポーネント 複数の認証 …

no image

apacheで複数インスタンスの起動

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。 早速調べなんとかできました …

no image

携帯サイト取得手法

PHPでスクレイピングの仕事をよくやるんですが、携帯サイトを取得してほしいという要望があり、少し調査をすることに。 携帯サイトといってもドメイン以下のディレクトリで/で区切ってsample.domai …

no image

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

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