Linux 从HTML生成PDF时的iText字体
我正在尝试使用HTML和iText生成PDF。html包含一些西里尔字母。在我的Windows7操作系统上,一切都很好 下面是我如何生成PDF的: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
// 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应用程序的一部分。