BIRT 3.7运行时。不再可以自定义PDF字体和jdbc驱动程序?

时间:2011-10-01 10:49:33

标签: java pdf jdbc birt

我正在尝试将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驱动程序的存根。

几年前,我问了一个关于从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 drivres必须在classpath

1 个答案:

答案 0 :(得分:3)

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