haruPDFで日本語フォントを使う例
haruPDFに組み込まれているフォントは、名前を指定するだけで使うことができる。
組み込まれている日本語フォントは、MS-Mincyo、MS-Gothic、MS-PMincyo、MS-PGothic。フォントファイルを用意したりする必要はない。
知らないと気づかないポイントは、HaruDoc::useJPFonts()、HaruDoc::useJPEncodings()を使うこと。
エンコードの指定と引数に渡す日本語の文字コードはいろいろな組み合わせができるのでお試しあれ。
どうもUTF-8は渡せないようなので、機種依存文字を使いたいときはSHIFT_jisにして渡すしかないような気がします。
サンプルコード(UTF-8で保存)
<?php
/**
* HaruPdfで日本語フォントを使う例
*/
$pdf = new HaruDoc;
$pdf->useJPFonts();
$pdf->useJPEncodings();
//pageを用意
$page = $pdf->addPage();
//文字出力開始
$page->beginText();
$insFont = $pdf->getFont('MS-Gothic', "90ms-RKSJ-H");
$page->setFontAndSize($insFont, 20);
$page->textOut(40, 780, mb_convert_encoding("ようこそ ABC ①② 髙 ", 'SJIS-win', 'UTF-8'));
$insFont = $pdf->getFont('MS-Mincyo', "EUC-H");
$page->setFontAndSize($insFont, 20);
$page->textOut(40, 700, mb_convert_encoding("あえいうえおあお ", 'eucjp-win', 'UTF-8'));
$insFont = $pdf->getFont('MS-PMincyo', "90ms-RKSJ-H");
$page->setFontAndSize($insFont, 30);
$page->textOut(40, 620, mb_convert_encoding("ようこそ HaruPDF!①②髙", 'SJIS-win', 'UTF-8'));
$insFont = $pdf->getFont('MS-PGothic', "90ms-RKSJ-H");
$page->setFontAndSize($insFont, 10);
$page->textOut(40, 600, mb_convert_encoding("UTF-8には対応してないのかな?", 'SJIS-win', 'UTF-8'));
$page->textOut(40, 590, mb_convert_encoding("SJIS-winに対応してるまぁよし ", 'SJIS-win', 'UTF-8'));
//文字出力終了
$page->endText();
//ついでなので、線描いてみます
$page->moveTo(100, 100);
$page->lineTo(200, 100);
$page->stroke();
$page->setLineWidth(5.0);
$page->moveTo(200, 200);
$page->lineTo(200, 400);
$page->stroke();
//ファイルとして保存するのもよい
//こうしてブラウザに返すのもよい
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="haru.pdf"');
$pdf->output();