IText:正在注册字体:未找到文件或资源

saa*_*aab 1 fonts itext registering

我正在windows平台上开发。我的 Maven 项目的字体资源结构如下:

src/main/resources/package/name/fonts
Run Code Online (Sandbox Code Playgroud)

我尝试按如下方式注册字体:

FontFactory.register("package/name/fonts/fontname.otf");
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

package/name/fonts/fontname.otf not found as file or resource
Run Code Online (Sandbox Code Playgroud)

我的失败是什么?

谢谢

saa*_*aab 5

首先,我使用 getResource() 获得正确的路径:

String pathtofont = "/package/name/fonts/fontname.otf";
String fontname = myworkingclass.class.getResource(pathtofont).toString();
Run Code Online (Sandbox Code Playgroud)

然后我注册它:

FontFactory.register(fontname);
Run Code Online (Sandbox Code Playgroud)

重要的是字体路径以 / 开头。