質問: Aspose.Cells for Java (ver8.5.0)を使って、ExcelのテンプレートからPDFを生成しています。 このExcelテンプレートにはMS PゴシックなどのMS系フォントを使用しています。 アプリケーションの形態はWebアプリケーションで、APサーバはWildflyです。 このアプリケーションを、WindowsServerで動かした場合は問題ありません。 しかし、CentOS上で動かすと、PDFが文字化けを起こしてしまいます。 現象から推測するに、PDF生成の際、サーバ側にインストールされているフォントに依存するような処理がされてしまっていそうです。 PDFにはフォント埋め込みの仕組みがありますから、恐らくそれが有効になっているのではないか、と。 【追記】 labunixさんの回答のリンクを参考に、実際に埋め込まれているフォントを確認しました。 **Windows Server で生成したPDF → 文字化けする** ![WindowsServer](https://i.stack.imgur.com/9K3cL.png) **CentOS で生成したPDF → 文字化けする** ![CentOS](https://i.stack.imgur.com/GsEu6.png) **CentOS (IPAフォントインストール済み) で生成したPDF → 文字化けしない** ![CentOS(IPA)](https://i.stack.imgur.com/kqKjC.png) 【追記ここまで】 CentOSにMS系フォントをインストールすることは、ライセンス上NGです。 このアプリケーションのクライアント環境はWindowsを想定していますので、「クライアントにMS系フォントがインストールされていれば閲覧できる」という状態にしたいです。 フォント埋め込みさえ無効化できれば、それが実現できるのではないかと踏んでいます。 ここまでの推測は正しいのでしょうか。 正しい場合、Aspose.Cells for Javaで、この設定を切り替えられるAPIはどれなのでしょうか?
回答: まず、埋め込みフォントがMS系フォントなのか、Adobe系フォントなのかは、 それぞれ、作成されたPDFのプロパティから埋め込みフォントについて確認してみてください。 上記のMS系埋め込みフォントの問題であれば、代替フォントであるIPAフォントを CentOSにインストールしてみてはいかがでしょうか。 APIについては知識がありませんが、下記マニュアルでは不十分でしょうか。 www.aspose.com/api/java/pdf/com.aspose.pdf.text/classes/SystemFontsSubstitution