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