从HTML生成PDF时的iText字体

时间:2013-03-26 09:18:16

标签: linux fonts itext

我正在尝试使用带有iText的HTML生成PDF。 html包含一些西里尔字母。在Windows 7操作系统上一切正常。

以下是我生成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”。

问题是,当我在远程linux jboss服务器上部署Web应用程序时,这段代码将不会显示西里尔符号(拉丁文符号和数字就好了)。

我猜问题是缺少字体但无法弄清楚究竟是什么导致它,因为我在服务器上的配置似乎很好。

0 个答案:

没有答案