我们有一个使用 Apache FOP 创建 PDF 的 Java 应用程序。由于此 Java 应用程序是 dockerised ,因此会安装字体文件夹,并且每当要添加新字体时,它们都会被复制到此已安装的文件夹中。但是除非我们重新启动应用程序,否则 FOP 无法识别添加的新字体。
- 是因为 JVM 在初始化期间与 Java App 和 FOP 共享字体缓存吗?
- 甚至可以在不重新启动应用程序的情况下更新 FOP 的字体缓存吗?
- 尝试使用
FontManager.UpdateReferencedFonts方法更新引用的字体,但它不反映新添加的字体。
很抱歉没有发布代码或更多详细信息,只是想知道 Java 或 FOP 方面是否存在任何限制,即无法使用应用程序启动后添加的字体。