PHPExcelではExcelの他にPDFも出力できる。
$writer = PHPExcel_IOFactory::createWriter($xls, "PDF");しかし、これだとPDFで日本語を出力しようとすると文字化けする。
$writer->save($path);
文字化けを回避するには、フォントをセットする必要がある。
$writer = PHPExcel_IOFactory::createWriter($xls, "PDF");これができるようになったのはわりと最近のようだ。(参考:PHPExcel - phpexcel - View Issue #11919: Can't set font on writing PDF)
$writer->SetFont('arialunicid0-japanese');
$writer->save($path);
ただし環境によってはこれでも見られないらしい。(参考:PHPExcel の PDF出力で日本語文字化け2 携帯ビューア - PC・通信メモ)
また、PHPExcelで作るPDFはExcelとして出力した場合と比べていろいろ違う(罫線とか数値フォーマットとか横幅とか)ので、綺麗に出すにはPDF用にいろいろ工夫しないといけないようだ。
参考
- PHPExcel 1.7.2でPDFに日本語混ぜると化ける | Go for it!
- PHPExcel の PDF出力で日本語文字化け - PC・通信メモ
- SE奮闘記: PHPからエクセルを操作するPHP-Excelを使ってみた
0 件のコメント:
コメントを投稿