我正在使用iText PDF在android中创建PDF文件。我需要写“'₹' PDF中的符号。 我有以下代码: -
public static final String FONT1 = "/main/assets//PlayfairDisplay-Regular.ttf";
public static final String FONT2 = "/main/assets/PT_Sans-Web-Regular.ttf";
public static final String FONT3 = "/main/assets/FreeSans.ttf";
public static final String RUPEE = "The Rupee character \u20B9 and the Rupee symbol \u20A8";
这些被声明为类变量。 我有一个函数createPDF(),它写入PDF文档。 我在函数中有以下代码行: -
File pdfFile = new File(filePath);
OutputStream output = new FileOutputStream(pdfFile);
Document document = new Document(PageSize.A4);
PdfWriter.getInstance(document, output);
document.open();
Font f1 = FontFactory.getFont(FONT1, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12);
Font f2 = FontFactory.getFont(FONT2, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12);
Font f3 = FontFactory.getFont(FONT3, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12);
Font f4 = FontFactory.getFont(FONT3, BaseFont.WINANSI, BaseFont.EMBEDDED, 12);
document.add(new Paragraph(RUPEE, f1));
document.add(new Paragraph(RUPEE, f2));
document.add(new Paragraph(RUPEE, f3));
document.add(new Paragraph(RUPEE, f4));
document.close();
然而,字体既没有反映在PDF中,也没有反映在卢比符号中。 我的PDF如下所示: -
我已按照以下链接执行了以下步骤: - iText Developers Tutorial 和StackOverflow Question on where to place Assets folder
我知道关于SO的另一个类似问题: - Rupee symbol is not showing in android 但这对我没有帮助。
我在这里做错了吗?我的字体放在错误的位置吗?
答案 0 :(得分:2)
尝试, 删除所有/ main /只保留资产/ PlayfairDisplay-Regular.ttf等...并在第一个字体中//删除那个并尝试