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