eclipse - BIRT: pdf emitter, carga/usa fuentes de ruta relativa o de archivos jar
reporting report (2)
Hay una manera de tener fuentes en un camino relativo para ser usado en Birt.
Lo que necesita hacer es copiar las fuentes a una ubicación en su aplicación web. El mío estaba en: C: // src / main / webapp / Reports
Ahora en la aplicación, use el siguiente comando para registrar las fuentes desde la ubicación mencionada anteriormente.
FontFactory.registerDirectory( scContext.getRealPath("/Reports") );
Esto registrará la fuente.
Probado en Birt 4.3 a través de Spring MVC
Uso BIRT desde los primeros días y todavía tengo acertijos con respecto al emisor de PDF.
Breve historia : ¿Puedo configurar fontsConfig.xml para cargar fuentes de la ruta relativa o de jar?
Larga historia: estamos utilizando tanto FOP como BIRT para generar PDF en nuestra aplicación web. Sería bueno compartir fuentes entre bibliotecas. Lamentablemente, no puedo encontrar la forma de hacerlo con BIRT 2.3.1
La raíz del mal es fontsConfig.xml Si lo configuro como se muestra a continuación, funciona bien:
<font-paths>
<path path="fonts"/>
</font-paths>
Pero la ruta no me permite usar rutas relativas ni classpath (o no puedo encontrar una forma apropiada de configurarlo). Ni config1 ni config2 funcionan.
Config1:
<font-paths>
<path path="../fonts"/>
</font-paths>
Config2:
<font-paths>
<path path="classpath:fonts"/>
</font-paths>
Cualquier pensamiento será apreciado.
Con algunas versiones de BIRT, puede usar una propiedad del sistema "birt.font.dirs". Esto anula el fontsConfig.xml.
Bueno, esta vez funcionó, pero obviamente fue eliminada del código fuente de BIRT más tarde.
Ahora puedes llamar algo así como
EngineConfig engineConfig = new EngineConfig();
URL fontsConfigurationURL = new URL("file:///path/to/my/fontsConfig.xml");
engineConfig.setFontConfig(fontsConfigurationURL);
Platform.startup(engineConfig);
Esto le permite suministrar a BIRT una versión personalizada de fontsConfig.xml sin hurgar en los JAR.
Probado con BIRT 4.3.0.