Quantcast
Channel: Active questions tagged utf-8 - Stack Overflow
Viewing all articles
Browse latest Browse all 1060

Thymeleaf PDF with Arabic text shows blank

$
0
0

I am using Thymeleaf version 3.1.2.RELEASE and flying-saucer-pdf version 9.3.1 to generate PDF from a JavaFX application. I have the following template.html:

<html xmlns:th="http://www.thymeleaf.org" lang="ar" dir="rtl"><body><h3 style="text-align: center; color: black"><span th:text="${title}"></span></h3></body></html>

Method to parse Thymeleaf template:

  private String parseThymeleafTemplate() {    ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();    templateResolver.setSuffix(".html");    templateResolver.setTemplateMode(TemplateMode.HTML);    TemplateEngine templateEngine = new TemplateEngine();    templateEngine.setTemplateResolver(templateResolver);    Context context = new Context();    context.setVariable("title", "عنوان");    return templateEngine.process("template", context);  }

Method to generate PDF from HTML:

  public void onPrintPdfButtonClick() throws DocumentException, IOException {    String outputFolder = ".../template.pdf";    OutputStream outputStream = new FileOutputStream(outputFolder);    ITextRenderer renderer = new ITextRenderer();    ITextFontResolver resolver = renderer.getFontResolver();    resolver.addFont("src/main/resources/Al Nile.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);    renderer.setDocumentFromString(parseThymeleafTemplate());    renderer.layout();    renderer.createPDF(outputStream);    outputStream.close();  }

For some reason, the generated PDF file has no content at all! I have set all the file encodings to UTF-8. I am also adding Arabic font to resolver. Nothing works so far. Anyone faced this issued before? I am really interested in understanding the issue, so we can solve it together.


Viewing all articles
Browse latest Browse all 1060

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>