ホームページ  >  記事  >  Java  >  Apache FOP で生成された PDF で SimSun を使用して中国語を表示するにはどうすればよいですか?

Apache FOP で生成された PDF で SimSun を使用して中国語を表示するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 12:59:03484ブラウズ

How to Display Chinese Characters with SimSun in Apache FOP Generated PDFs?

SimSun で中国語を表示する Apache FOP

多くのユーザーが中国語の文字が「####」として表示される問題に遭遇しています。 Apache FOP を使用して生成された PDF ドキュメント。この問題を解決するには、3 段階のプロセスが必要です。

まず、FO ファイルで目的のフォント ファミリを指定する必要があります。デフォルトでは、FOP は Helvetica フォントを使用しますが、漢字はサポートされていない可能性があります。 SimSun などの別のフォントを指定するには、FO ファイルに次の行を含めます:

<code class="xml"><fo:block font-family="SimSun">...</fo:block></code>

ただし、これだけでは問題を解決するには十分ではない可能性があります。 FOP では、指定されたフォント ファミリを実際のフォント ファイルにマップするための設定も必要です。この構成は、FOP の構成ファイルで指定されます。通常は conf/fop.xconf にあります。構成ファイルに次の行を追加します:

<code class="xml"><directory>/path/to/fonts</directory></code>

これは、指定されたディレクトリ内のすべてのフォント ファイルを自動的に構成するように FOP に通知します。あるいは、フォント ファミリとスタイルの組み合わせごとにフォント マッピングを明示的に指定することもできます。

<code class="xml"><font kerning="yes" embed-url="/path/to/SimSun.ttf">
  <font-triplet name="SimSun" style="normal" weight="normal"/>
</font></code>

最後に、FOP を呼び出すときに構成ファイルを指定します。コマンドラインから -c オプションを使用します:

<code class="bash">fop -c /path/to/fop.xconf input.fo input.pdf</code>

または、Java コードから FOP を使用する場合:

<code class="java">fopFactory.setUserConfig(new File("/path/to/fop.xconf"));</code>

次の手順に従うことで、FOP は必要な情報を取得します。生成された PDF ドキュメントで SimSun フォントを使用して中国語の文字を正しく表示します。

以上がApache FOP で生成された PDF で SimSun を使用して中国語を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。