我使用iText 5.5.5
同时生成包含波斯语和英语字符的PDF文件。所以,我使用了以下代码:
document.open();
Paragraph p1 = new Paragraph();
BaseFont myFont = BaseFont.createFont("assets/fonts/droidNaskh.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font paraFont= new Font(myFont, 12);
p1.setAlignment(Paragraph.ALIGN_CENTER);
p1.setFont(paraFont);
p1.add("متن فارسی همراه با english text");
PdfPTable table = new PdfPTable(1);
PdfPCell cell = new PdfPCell(p1);
cell.setBorder(0);
cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
table.addCell(cell);
document.add(table);
但是,我的段落的英文部分(即"英文文本")未写入输出中。
答案 0 :(得分:2)
解决方案是使用基本拉丁语,波斯语(波斯语),西欧语和阿拉伯语的完整语言支持字体。我在OpenFontLibrary上找到了一些字体,例如XB Yagut
和XB Zar
。