java - 使用 iText 生成波斯语 PDF

标签 java pdf-generation itext persian

您好
我知道很多人以前可能问过这个问题。我已经阅读了几乎所有的内容`但它无法帮助我解决我的问题。
我正在使用 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();

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

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

最佳答案

只有部分 iText 元素支持 RTL,例如 PdfPCell、PdfPTable、ColumnText。 只有这些元素具有 RunDirection 属性,可以将其设置为 PdfWriter.RUN_DIRECTION_RTL 值。 ( more info in Persian )

关于java - 使用 iText 生成波斯语 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24683985/

相关文章:

java - 根据特定单元格值划分 Excel 工作表

java - 当值不为空时更新列 JOOQ

javascript - 在 Firefox 中打印 PDF

c# - 在c#中使用openxml和pdfcreator将docx转换为pdf

java - iText : how to refactor code to avoid multiple addCell in method

java - PEM 到私钥

java - 在 dom 树的第一个 child 之前添加一个新节点

c# - Azure 中的 PDF 附件使用内存还是临时目录?

java - iText 支持 OCR 吗?

java - pdfbox和itext无法提取图像