【发布时间】:2020-01-03 07:30:36
【问题描述】:
我在 android 中创建一个 pdf 文件,其中有不同的语言。我在 res 目录下的字体文件夹中有 notoserifdevanagaribold.tff,但我无法在字符串变量中访问它。我正在使用 itext7 创建一个 pdf 文件。在 itext7 PdfFontFactory.createFont(String FONT, PdfEncodings.IDENTITY_H); 需要字符串值作为字体路径。如果我将 /font/notoserifdevanagaribold 放入字符串变量中,我将遇到错误。
W/System.err: com.itextpdf.io.IOException: Font file font/notoserifdevanagaribold.ttf not found.
at com.itextpdf.io.font.FontProgram.checkFilePath(FontProgram.java:284)
at com.itextpdf.io.font.TrueTypeFont.<init>(TrueTypeFont.java:91)
at com.itextpdf.io.font.FontProgramFactory.createFont(FontProgramFactory.java:206)
W/System.err: at com.itextpdf.io.font.FontProgramFactory.createFont(FontProgramFactory.java:115)
请让我知道该怎么做。下面我附上了我的代码截图。
【问题讨论】:
-
public static PdfFont createFont(String fontProgram, String encoding)
-
我必须像这样传递文件名
PdfFont f = PdfFontFactory.createFont("notoserifdevanagaribold.ttf", PdfEncodings.IDENTITY_H); -
我收到此错误
W/System.err: com.itextpdf.io.IOException: Font file notoserifdevanagaribold.ttf not found -
(stackoverflow.com/q/19225857/3409734) 我正在尝试使用自定义字体,并且我读过我想将字体放在资产/字体中。。从这篇文章中我猜你需要将你的字体文件夹放在资产文件夹而不是资源文件夹中
-
我已经从资源文件夹中删除了该字体文件夹,现在我已经在资产文件夹中创建了但我也收到错误
W/System.err: com.itextpdf.io.IOException: Font file fonts/notoserifdevanagaribold.ttf not found.在这里我必须以字符串形式访问字体路径 PdfFont f = PdfFontFactory.createFont("fonts/notoserifdevanagaribold.ttf", PdfEncodings.IDENTITY_H); 在这个方法中
标签: android itext itext7 android-pdf-api