0

I am trying to print Arabic and English text in PDF using Flying Saucer library. Here's my code :

    String inputFile = "D:/test.xhtml";
    String url = new File(inputFile).toURI().toURL().toString();
    String outputFile = "D:/doc.pdf";
    OutputStream os = new FileOutputStream(outputFile);

    ITextRenderer renderer = new ITextRenderer();
    ITextFontResolver resolver = renderer.getFontResolver();
    resolver.addFont("D:/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

    renderer.setDocument(url);
    renderer.layout();
    renderer.createPDF(os);

    os.close();

and my XHTML file has following data enclosed in paragraph tags: اب اب اب اب Hello

The output generated displays only English characters but not Arabic glyphs. Please help.

Jens
  • 67,715
  • 15
  • 98
  • 113
aanchal
  • 33
  • 1
  • 12

1 Answers1

0

for some reason, if no specific font is used, the generated PDF uses some kind of default (probably Helvetica) font, that contains a very limited character set, that obviously does not contain the Greek code page. Reference

Arial is a pretty standard font, installed by default in most operating system, and implements a wide variety of alphabets (including Greek).

LNT
  • 876
  • 8
  • 18