[salesforce]VisualforceでPDF出力時の日本語対応
Visualforceの<apex:page>タグには、renderAsという属性があります。
これは、Visualforceで出力するページをいろいろなページフォーマットに変換して出力してくれる
という大変便利な機能です。
現時点ではPDF出力のみサポートされていますが、今後色々な形式をサポートしてくれることを期待です。
ですが、このPDF出力機能、残念ながら2バイト文字に対応しておりません。
試しにやってみました。
[sourcecode language=”javascript”]
<apex:page standardController="Account" renderAs="pdf">
<style> body { font-family: Arial Unicode MS; } </style>
1111abcdefghijkmnlopqrstuvdxyz<br />
<br />
あいうえおかきくけこさしすせそ<br />
<br />
株式会社ウフル<br />
<br />
2222abcdefghijkmnlopqrstuvdxyz<br />
</apex:page>
[/sourcecode]
こんなのを書いて、ページ表示。
こんなかんじ。フォント指定したらいけるかと思ったんですがダメでした。
ちなみにVisualforceのリファレンスには、2バイト文字のPDF出力をサポートしてないのは
<apex:pageBlock>と<apex:sectionHeader>の二つってかいてるんですが、
今まで使った限りどのAPEXタグ内でも2バイト文字は出力されなかったんですが。。
日本語部分は抜けちゃって表示されちゃいます。
とりあえず当面は日本語出力させたい場合は、外部のPDF出力サービスを使う必要があるようです。