skillup

技術ブログ

PHP

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

投稿日:

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

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

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

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

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

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

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

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

-PHP
-

執筆者:


comment

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

関連記事

no image

PHPでのPDF出力 テーブル

PDFで何かを出力する場合、ほとんどが納品書や請求書などの帳票でしょう。 これらもfpdfで出力することができます。 Contents1 ソース2 参考リンク ソース [crayon-61762f4f …

no image

streamについて

CSVダウンロード機能などを実装していて、動くコードはかけていますが、内容をよく理解していないことも多かったです。 今回はストリームについて。 ストリームとは 主にデータの総量がわからないケースでよく …

no image

HTMLの画像化について

7月にHTMLを画像化する処理なんてものをやりました。 コード自体は複雑なことはなかったんですが、新規で覚えることがそこそこあったので、メモしておきます。 Contents1 html2canvas1 …

no image

Laravelでのテスト

Laravelを使ってUnitTestをする場合の注意点など。 Contents1 事前準備2 テストデータ作成機能3 実際のテストコード 事前準備 まずはアプリのディレクトリにあるphpunit.x …

no image

PECLに関して

PHPのライブラリを入れようとするとたまに出てくるPECLに関して。 最近でもメールパーサーを入れた時に出ましたね。 [PHP]pecl,phpize,extensionという単語を見て頭痛がするあな …