当我使用itext从带有thymeleaf的html文件在pdf生成中呈现泰国字符时,有些字符存在问题。当同一水平位置有3个字符时,如下所示:ชื่" 最上面的字符被向下推并与第二个字符合并。
以html文件形式打开时的正确文本:
打开生成的pdf文件后的文本不正确:
有没有办法解决这个问题?
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setCharacterEncoding("UTF-8");
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
Context context = new Context();
context.setVariable("productName", "product1");
String html = templateEngine.process(htmtFilePath, context);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver resolver = renderer.getFontResolver();
resolver.addFont(new ClassPathResource(FONT_PATH_EKACHON_BOLD).getPath(), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.setDocumentFromString(html);
renderer.layout();
String fileName = "output.pdf"
OutputStream outputStream = new FileOutputStream(fileName);
renderer.createPDF(outputStream);
暂无答案!
目前还没有任何答案,快来回答吧!