Linux 从HTML生成PDF时的iText字体

Linux 从HTML生成PDF时的iText字体,linux,fonts,itext,Linux,Fonts,Itext,我正在尝试使用HTML和iText生成PDF。html包含一些西里尔字母。在我的Windows7操作系统上,一切都很好 下面是我如何生成PDF的: // Registers the fonts folder. FontFactory.registerDirectory(fontFolder); Set<String> registeredFonts = FontFactory.getRegisteredFonts(); LOGGER.info("Regist

我正在尝试使用HTML和iText生成PDF。html包含一些西里尔字母。在我的Windows7操作系统上,一切都很好

下面是我如何生成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"));
//注册字体文件夹。
FontFactory.registerDirectory(fontFolder);
设置registeredFonts=FontFactory.getRegisteredFonts();
info(“注册字体:“+registeredFonts”);
//添加包装HTML和正文标记。
content=“”+content+”;
content=content.replace(新的行分隔符,
); //从html内容创建输入流 InputStream=新的ByteArrayInputStream(content.getBytes(“UTF-8”); //转换为PDF XMLWorkerHelper worker=XMLWorkerHelper.getInstance(); parseXHtml(writer、文档、流、Charset.forName(“UTF-8”);
font folder变量包含arial字体的路径,fontFamily变量包含字符串“arial”

问题是,当我在远程LinuxJBoss服务器上部署web应用程序时,这段代码不会显示西里尔字母符号(拉丁字母和数字很好)


我想问题在于缺少字体,但由于我在服务器上的配置似乎很好,因此无法找出具体原因。

JBoss fontFolder是否包含必要的字体?我不知道有字体,因此我想答案是“否”。)我已经解决了在Centos上安装字体的问题,但是我希望将字体保留为web应用程序的一部分。