iText で HTML を使用して PDF を生成しようとしています。html にはいくつかのキリル文字が含まれています。そして、私のWindows 7 OSではすべて正常に動作します。
PDFを生成する方法は次のとおりです。
// Registers the fonts folder.
FontFactory.registerDirectory(fontFolder);
Set<String> registeredFonts = FontFactory.getRegisteredFonts();
LOGGER.info("Registered fonts : " + registeredFonts);
// Adds wrapper HTML and BODY tags.
content = "<HTML><BODY style=\"font-family: " + fontFamily + "\">" + content + "</BODY></HTML>";
content = content.replace(NEW_LINE_SEPARATOR, "<br />");
// Create input stream from the html content
InputStream stream = new ByteArrayInputStream(content.getBytes("UTF-8"));
// convert to PDF
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
worker.parseXHtml(writer, document, stream, Charset.forName("UTF-8"));
フォント フォルダー変数には arial フォントへのパスが含まれ、fontFamily 変数には文字列 "arial" が含まれます。
問題は、Web アプリケーションをリモートの Linux jboss サーバーにデプロイすると、このコードのビットがキリル文字を表示しないことです (ラテン文字と数字は問題ありません)。
問題はフォントの欠落にあると思いますが、サーバー上の構成が問題ないように見えるため、何が原因であるかを正確に把握できません。