首页 > 解决方案 > iText 7 pdfHTML setCharset 在 MS Server 2016 上不起作用

问题描述

我刚刚完成了一项用于创建 pdf 导出的新服务,其中包含带有 html 字符串的部分(表格中的两个单元格),所以我不得不使用 pdfHTML。我的代码部分:

FontProvider fontProvider = new DefaultFontProvider(true, true, true);
ConverterProperties properties = new ConverterProperties();
properties.setCharset("UTF-8");
properties.setFontProvider(fontProvider);
InputStream isStav = new ByteArrayInputStream((pdfData.get().getStav() == null ? "" : pdfData.get().getStav()).getBytes());
List<IElement> elements =
HtmlConverter.convertToElements(isStav, properties);

一切都在我的本地机器上完美运行,但是当我将项目部署到 Wildfly 服务器(托管在 microsoft windows server 2016 上)时, setCharset("UTF-8") 部分被忽略了。我下载 pdf 时的结果如下所示:“Nemali by však zásadne preká�a? v testovaní.”。

如何在服务器上正确设置 charSet?是服务器故障,还是我应该更改代码中的某些内容?作为默认字体,我使用 PdfFont,但我无法将它传递给 FontProvider:

PdfFont fNormal = PdfFontFactory.createFont(StandardFonts.HELVETICA, "CP1250");

谢谢你。

标签: encodingitext7pdfhtml

解决方案


推荐阅读