使用iText生成波斯语PDF

nor*_*guy 6 java pdf-generation persian itext

嗨,
我知道很多人之前可能会问过这个问题.我几乎阅读了所有这些内容,但它无法帮我解决问题.
我正在使用iText java库来生成波斯语PDF.我正在使用以下代码:

Document document = new Document(PageSize.A4,50,50,50,50);
FileOutputStream fos = new FileOutputStream("D:\\ITextTest.pdf");
PdfWriter writer = PdfWriter.getInstance(document,fos);
document.open();
BaseFont bf = BaseFont.createFont("C:\\Windows\\Fonts\\XB YagutBd.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font a = new Font(bf,10);
Paragraph p1 = new Paragraph("???? ???? ??");
p1.setFont(a);
document.add(p1);
document.close();
Run Code Online (Sandbox Code Playgroud)

但是当我执行代码时,没有任何内容写入PDF文件,它是空白的.请注意,"XB YagutBd.ttf"是波斯语Unicode字体,"p1"包含一些波斯语字符.

我该怎么办?我已经陷入了这个问题......请帮帮我.

Vah*_*idN 5

只有部分iText元素支持RTL,如PdfPCell,PdfPTable,ColumnText.只有这些元素具有RunDirection可以设置为PdfWriter.RUN_DIRECTION_RTL值的属性.(波斯语中的更多信息)