在 Android 上使用 iText 生成波斯语和英语 PDF
Generating Persian and English PDF using iText on Android
我正在使用 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);
但是,我的段落的英文部分(即"english text")没有写在输出中。
解决方案是使用具有基本拉丁语、波斯语(波斯语)、西欧语和阿拉伯语完整语言支持的字体。我在 OpenFontLibrary 上找到了一些字体,例如 XB Yagut
和 XB Zar
。
我正在使用 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);
但是,我的段落的英文部分(即"english text")没有写在输出中。
解决方案是使用具有基本拉丁语、波斯语(波斯语)、西欧语和阿拉伯语完整语言支持的字体。我在 OpenFontLibrary 上找到了一些字体,例如 XB Yagut
和 XB Zar
。