eclipse - BIRT:pdf 发射器,从相对路径或 jar 文件加载/使用字体

标签 eclipse pdf reporting report birt

我从早期就使用 BIRT,但仍然有关于 PDF 发射器的谜语。

短篇小说 :
我可以配置 fontsConfig.xml 以从相对路径或 jar 加载字体吗?

长话:
我们同时使用 FOP 和 BIRT 在我们的 Web 应用程序中生成 PDF。在库之间共享字体会很好。不幸的是,我找不到使用 BIRT 2.3.1 的方法

万恶之源是fontsConfig.xml
如果我像下面这样配置它,它工作正常:

<font-paths>
<path path="fonts"/>
</font-paths>

但是路径不允许我使用相对路径而不是类路径(或者我找不到如何配置它的合适方法)。
config1 和 config2 都不起作用。

配置1:
<font-paths>
<path path="../fonts"/>
</font-paths>

配置2:
<font-paths>
<path path="classpath:fonts"/>
</font-paths>

任何想法将不胜感激。

最佳答案

对于某些 BIRT 版本,您可以使用 SystemProperty “birt.font.dirs”。这会覆盖 fontsConfig.xml。

嗯,这曾经有效,但很明显它后来从 BIRT 源代码中删除了。

现在你可以调用类似的东西

EngineConfig engineConfig = new EngineConfig();
URL fontsConfigurationURL = new URL("file:///path/to/my/fontsConfig.xml");
engineConfig.setFontConfig(fontsConfigurationURL);

Platform.startup(engineConfig);

这允许您为 BIRT 提供自定义版本的 fontsConfig.xml,而无需在 JAR 中四处寻找。

使用 BIRT 4.3.0 测试。

关于eclipse - BIRT:pdf 发射器,从相对路径或 jar 文件加载/使用字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/255916/

相关文章:

c++ - 链接 boost.asio

java - 突出显示在 Eclipse 中何时使用相等运算符 (==) 进行字符串比较

java - Magic 8 Ball 始终不打印 java

java - 将 HTML 转换为 PDF 的字符问题

javascript - 如何使用 JavaScript 对 BIRT 上的 ip 地址进行排序?

java - Eclipse equals() 模板,其中 null String == empty String

iOS - 检查 webView 是否加载了非 -'pdf' 文件扩展名的 PDF 内容

php - 我无法在实时主机上以 PDF 格式导出数据库表

sql - SQL:跨借方(票据)有效地应用贷方(付款)

swift - 使用 Pod 解析崩溃报告导入时无法在 Swift 上运行