2011-10-01 31 views
5

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

3.7 3.7 fontsConfig*.xml文件被嵌入BIRT运行时jar文件(在我的情况下它是org.eclipse.birt.runtime_3.7.1.v20110913-1734.jar)。 jar文件已签名,认为这是OSGI所必需的。所以如果你在jar中改变任何东西,JRE会在加载文件时抛出校验和错误。如果您删除签名信息,OSGI将不会加载它(NPE)。

任何想法如何自定义我的pdf字体而无需重建BIRT运行时?

顺便说一句,我怀疑同样的问题提出了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

UPDATE:

  1. 关于PDF的字体,发现开放的bug未解决的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中
+0

该问题在3.7.2中得到解决。适用于我:) – FoxyBOA

+0

直接在iText上配置字体的绝佳解决方案在这里http://stackoverflow.com/questions/23021711/how-to-configure-birt-report-engine-to-use-fonts-directly-from -the-applications –

回答

3

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

+0

你救了我的命:)谢谢(握手)。 – FoxyBOA