【问题标题】:BIRT 3.7 runtime. Customizing of PDF fonts and jdbc drivers are not possible anymore?BIRT 3.7 运行时。不能再自定义 PDF 字体和 jdbc 驱动程序了?
【发布时间】:2011-10-01 10:49:32
【问题描述】:

我正在尝试将 BIRT 升级到最新的运行时 3.7。 看起来不可能自定义 PDF 字体!在以前的版本中,它是在 org.eclipse.birt.report.engine.fonts*/fontsConfig*.xml 文件中完成的。

在 3.7 中,fontsConfig*.xml 文件嵌入在 BIRT 运行时 jar 文件中(在我的例子中是 org.eclipse.birt.runtime_3.7.1.v20110913-1734.jar)。 jar文件是签名的,认为对于OSGI是必要的。因此,如果您更改 jar 中的任何内容,JRE 在加载文件时会抛出校验和错误。如果您删除签名信息,OSGI 将不会加载它(NPE)。

任何想法如何在不重建 BIRT 运行时的情况下自定义我的 pdf 字体?

顺便说一句,我怀疑 jdbc 驱动程序也会出现同样的问题。上面提到的 jar 文件包含drivers 文件夹。怀疑是插件org.eclipse.birt.report.data.oda.jdbc*的jdbc驱动的stub。

几年前,我问了一个关于从 BIRT 运行时添加 PDF 字体的问题。仍然没有答案BIRT: pdf emitter, load/use fonts from relative path or from jar files

更新:

  1. 关于 pdf 字体,发现 3.7.1 中未解决的开放错误 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=347431
  2. 根据http://wiki.eclipse.org/Birt_3.7_Migration_Guide#JDBC_Drivers,jdbc驱动必须在类路径中

【问题讨论】:

标签: java pdf jdbc birt


【解决方案1】:

这不是最干净的方法,但可以在 jar 文件中编辑它们。您可以通过删除 META-INF/ECLIPSEF.SF 并从 META-INF/MANIFEST.MF 中删除其主要部分之后的所有内容(文件名和摘要......或者,仅删除配置文件的部分)来删除签名。不需要对 jar 进行签名(我想这取决于安全管理器的设置,但在默认设置下它运行良好)。

【讨论】:

  • 你救了我的命 :) 谢谢(握手)。
猜你喜欢
  • 2013-04-08
  • 2013-04-05
  • 2012-03-28
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-28
相关资源
最近更新 更多