mPDFを使用した際の使い方とか設定とかの覚書
公式サイト https://mpdf.github.io/
目次
ファイルを出力
参考サイトを見ながらテストの表示をしてみる。
// ライブラリの読み込み require_once 'mpdf60/mpdf.php'; // mPDFクラス作成 $mpdf = new mPDF(); // タイトルを指定 $mpdf->setTitle("MyPDF.pdf"); // テキストを設定 $mpdf->WriteHTML("Test"); // 出力 $mpdf->Output();
これでうまく表示されていればOK。
日本語が扱えるように設定する
$mpdf = new mPDF();
の部分を
$mpdf = new mPDF("ja");
に変更する。
IPAフォントをダウンロードする
https://ipafont.ipa.go.jp/old/ipafont/download.html
ダウンロードした日本語フォント(TTFファイル)をttfontsフォルダに入れる
config_fonts.phpの修正
$this->fontdata = array(
の中あたりに
"ipa" => array( /* Japan */ 'R' => "ipagp.ttf" ),
を追加。
config_lang2fonts.phpの修正
CASE "ja": CASE "jpn": // Japanese HIRAGANA KATAKANA if ($adobeCJK) { $unifont = "sjis"; } else { $unifont = "sun-exta"; } break;
を
CASE "ja": CASE "jpn": // Japanese HIRAGANA KATAKANA if ($adobeCJK) { $unifont = "ipa,sjis"; } else { $unifont = "ipa"; } break;
に修正する。
他各種設定
examplesフォルダ内にデモファイルがあるので、画像の挿入方法だったり、テーブルの作り方だったり、CSSでの装飾だったりPHPコードを途中でいれたりする方法とかは各デモを見ながら確認する。
pagebreakでPDFの改ページ
<pagebreak />
外部スタイルシートの設定
//外部スタイルシートを使用する場合は下記の設定 $stylesheet = file_get_contents("http://example.com/stylesheet.css" ); $stylesheet = mb_convert_encoding($stylesheet, "UTF-8"); $mpdf->WriteHTML($stylesheet,1);
ページフッタ設定
//ページフッタ設定 $footer = '<div align="center">See <a href="http://mpdf1.com/manual/index.php">documentation manual</a></div>'; $mpdf->SetHTMLFooter($footer);
出力
//ウェブページに出力する場合 $mpdf->Output();
//サーバーに保存する場合 $mpdf->Output("hoge.pdf", 'F');
Fatal error: Interface 'Psr\Log\LoggerAwareInterface' not found
古いバージョン(mpdf 6 version)のセットアップの仕方をしているとこのエラーになる。
バージョン7の使い方は下記ページ参照
https://mpdf.github.io/installation-setup/installation-v7-x.html