5
iTextを使用して漢字でPDFを作成しています。私は、指定されたフォントは、 漢字でPDFを生成するためのiText
FontFactory.registerDirectory("c:/windows/Fonts/");
new Phrase("Asian 汉字/漢字 characters", FontFactory.getFont("MS Mincho", 16, Font.NORMAL));
が
コードは以下適宜(すなわちヌルでない)MS明朝フォントを検索し、私はコードを使用してロードされていたが
FontFactory.getFont("MS Mincho", 16, Font.NORMAL)
、生成されたPDF MS明朝のみASCIIテキスト "Asian characters"を表示します。つまり、中国語の文字はPDFに表示されません。
生成されたPDFに中国語の文字が欠けている理由は何ですか?ここ
あなたがa)は、適切な[エンコーディング]でフォントを使用することを確認する必要があります使用(http://itextpdf.com/themes/keyword.php?id=394) ( 'BaseFont.IDENTITY_H')とb)[embed](http://itextpdf.com/themes/keyword.php?id=71)it(' BaseFont.EMBEDDED')を使用してください。 [iText in Action - 2nd Edition](http://itextpdf.com/book/)の[chaptrer 11](http://itextpdf.com/book/chapter.php?id=11)のサンプルに触発されてください。 。 – mkl
ありがとうございます。生成されたPDFは、漢字を正しく表示するようになりました。 FontFactory.registerDirectory()を呼び出す必要はありません。 BaseFont.createFont( "c:/windows/Fonts/MSMINCHO.TTF"、BaseFont.IDENTITY_H、BaseFont.EMBEDDED)を使って、Font(BaseFont、size)をインスタンス化するだけです。 FontFactory.getFont( "MS Mincho")は中国語の文字では機能しません。 –
実際には、 'FontFactory'を同様に使用して、適切にパラメータ化されたフォントオブジェクトを作成することができます。しかし、本当に、あなたはそれを必要としません。 – mkl