Itext 显示阿拉伯语单词的空行
Itext show empty line for Arabic words
我正在使用 Itext
使用以下代码在 android 中创建 pdf
个文件:
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(root.getPath() + "/" + System.currentTimeMillis() + ".pdf"));
document.open();
Font chapterFont = FontFactory.getFont("", BaseFont.IDENTITY_H, 16, Font.BOLDITALIC);
Font paragraphFont = FontFactory.getFont("", BaseFont.IDENTITY_H, 12, Font.NORMAL);
Chunk chunk = new Chunk(b.getTitle(), chapterFont);
Chapter chapter = new Chapter(new Paragraph(chunk), 1);
chapter.setNumberDepth(0);
chapter.add(new Paragraph(b.getLead(), paragraphFont));
document.add(chapter);
document.close();
当我使用英文单词时它工作正常,但是当我使用 arabic
或 persian
单词时它显示空行,
有什么问题?我该如何解决?
提前致谢,
可能是编码问题,确保默认编码设置为 UTF-8。
通过更改此行解决了此问题:
Font chapterFont = FontFactory.getFont("", BaseFont.IDENTITY_H, 16, Font.BOLDITALIC);
至
Font chapterFont = FontFactory.getFont("assets/arial.ttf", BaseFont.IDENTITY_H, 16, Font.BOLDITALIC);
第 1 步 - 添加字体:
Font font= FontFactory.getFont("assets/arial.ttf", BaseFont.IDENTITY_H, 16, Font.NORMAL);
第 2 步 - 添加 table(在我的例子中):
PdfPTable table = new PdfPTable(4);
table.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
table.addCell(new PdfPCell(new Paragraph("بستانکار",font)));
并用于 RTL:
setRunDirection(PdfWriter.RUN_DIRECTION_RTL) .
您也可以在 PdfWriter 中使用此方法;
我正在使用 Itext
使用以下代码在 android 中创建 pdf
个文件:
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(root.getPath() + "/" + System.currentTimeMillis() + ".pdf"));
document.open();
Font chapterFont = FontFactory.getFont("", BaseFont.IDENTITY_H, 16, Font.BOLDITALIC);
Font paragraphFont = FontFactory.getFont("", BaseFont.IDENTITY_H, 12, Font.NORMAL);
Chunk chunk = new Chunk(b.getTitle(), chapterFont);
Chapter chapter = new Chapter(new Paragraph(chunk), 1);
chapter.setNumberDepth(0);
chapter.add(new Paragraph(b.getLead(), paragraphFont));
document.add(chapter);
document.close();
当我使用英文单词时它工作正常,但是当我使用 arabic
或 persian
单词时它显示空行,
有什么问题?我该如何解决? 提前致谢,
可能是编码问题,确保默认编码设置为 UTF-8。
通过更改此行解决了此问题:
Font chapterFont = FontFactory.getFont("", BaseFont.IDENTITY_H, 16, Font.BOLDITALIC);
至
Font chapterFont = FontFactory.getFont("assets/arial.ttf", BaseFont.IDENTITY_H, 16, Font.BOLDITALIC);
第 1 步 - 添加字体:
Font font= FontFactory.getFont("assets/arial.ttf", BaseFont.IDENTITY_H, 16, Font.NORMAL);
第 2 步 - 添加 table(在我的例子中):
PdfPTable table = new PdfPTable(4);
table.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
table.addCell(new PdfPCell(new Paragraph("بستانکار",font)));
并用于 RTL:
setRunDirection(PdfWriter.RUN_DIRECTION_RTL) .
您也可以在 PdfWriter 中使用此方法;