PHPExcel の PDF出力で日本語文字化け2 携帯ビューア
PHPExcel の PDF出力で日本語文字化け の続き
文字化けは解決したけど「携帯電話のPDF Viewer (Acrobat Reader LE)で文字が表示できない」の解決編
PHPExcel は TCPDF を使っているみたい(FPDF を使っているのだと思い込んで、遠回りした)
で、文字が表示されない理由ですが arialunicid0 系フォントを指定すると
「OS標準のフォントを利用」という事になるらしい
OS標準のフォントてのを、携帯PDFビューアが認識できないのだろう(と解釈)
非標準のフォントだと、PCの場合ネットからフォントをダウンロードするけど、携帯には、おそらく無理、かといって、フォントを埋め込んだらPDFが肥大化して、都合が悪い
次に、PDFの日本語標準フォントは何かと調べると「小塚明朝」「小塚ゴシック」の二つ
さすがにコレは、携帯でも入ってんじゃね~のと思いつつ
PHPExcel の PHPExcel/Shared/PDF/fonts を覗いてみるが、それっぽいファイルがない
ということで TCPDF のフォントが欲しいついでに、最新へ入れ換えてみる事に
PHPExcel/Shared/ の PDF ってのが TCPDF そのもの
TCPDFの公式サイトから
tcpdf_4_8_017.zip ←この文章時点
をダウンロード → 解凍
上記の PHPExcel/Shared/PDF と置き換える(並べると中身が同じなのが分かる)
次に、昨日いじった PHPExcel/Writer の PDF.php の 133行目あたりへ移動
以上のように、フォントを小塚ゴシックにすることで、携帯ビューアーでも見られるようになりました
文字化けは解決したけど「携帯電話のPDF Viewer (Acrobat Reader LE)で文字が表示できない」の解決編
PHPExcel は TCPDF を使っているみたい(FPDF を使っているのだと思い込んで、遠回りした)
で、文字が表示されない理由ですが arialunicid0 系フォントを指定すると
「OS標準のフォントを利用」という事になるらしい
OS標準のフォントてのを、携帯PDFビューアが認識できないのだろう(と解釈)
非標準のフォントだと、PCの場合ネットからフォントをダウンロードするけど、携帯には、おそらく無理、かといって、フォントを埋め込んだらPDFが肥大化して、都合が悪い
次に、PDFの日本語標準フォントは何かと調べると「小塚明朝」「小塚ゴシック」の二つ
さすがにコレは、携帯でも入ってんじゃね~のと思いつつ
PHPExcel の PHPExcel/Shared/PDF/fonts を覗いてみるが、それっぽいファイルがない
ということで TCPDF のフォントが欲しいついでに、最新へ入れ換えてみる事に
PHPExcel/Shared/ の PDF ってのが TCPDF そのもの
TCPDFの公式サイトから
tcpdf_4_8_017.zip ←この文章時点
をダウンロード → 解凍
上記の PHPExcel/Shared/PDF と置き換える(並べると中身が同じなのが分かる)
次に、昨日いじった PHPExcel/Writer の PDF.php の 133行目あたりへ移動
// Set the appropriate font //$pdf->SetFont('freesans'); //$pdf->SetFont('arialunicid0-chinese-simplified'); //$pdf->SetFont('arialunicid0-chinese-traditional'); //$pdf->SetFont('arialunicid0-korean'); //$pdf->SetFont('arialunicid0-japanese'); $pdf->SetFont('kozgopromedium'); // ←フォント指定を 小塚ゴシック にする $pdf->writeHTML($html); |
以上のように、フォントを小塚ゴシックにすることで、携帯ビューアーでも見られるようになりました
コメント