【问题标题】:Read Apache FOP config and fonts in OSGi blueprint container在 OSGi 蓝图容器中读取 Apache FOP 配置和字体
【发布时间】:2016-07-09 18:58:21
【问题描述】:

我有一个带有 Apache FOP 依赖项的 OSGi 蓝图容器。当我使用默认配置生成 PDF 时,俄语符号(#### 而不是文本)会出现问题。在非 OSGi 测试应用程序中,这个问题很容易解决:我在同一目录中使用自定义 fop.xconf 配置文件和两个 arial*.ttf 字体文件。 fop.xconf 中的自动检测也解决了这个问题。

但在 OSGi 蓝图容器中,我无法从捆绑资源中读取 conf 文件。谁能告诉我一个如何从蓝图容器中读取 xconf 和字体的例子?或者如何在不读取资源的情况下以编程方式配置字体。

【问题讨论】:

    标签: apache fonts apache-fop


    【解决方案1】:

    所以,我找到了解决方案。 我们不能将 File() 与“bundleresource://...”路径一起使用,但我们可以使用 URI():

            URL url = getClass().getClassLoader().getResource(FOP_XCONF_FILE);
            fopFactory = FopFactory.newInstance(url.toURI(), url.openStream());
    

    在这种情况下,我们从捆绑资源中打开 conf 文件输入流并将其传递给特殊的 FopFactory.newInstance() 定义。带有元素的 Fop.xconf XML 就像一个魅力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-22
      • 2015-07-19
      • 2012-07-20
      • 2012-02-28
      • 2013-11-15
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      相关资源
      最近更新 更多