Frage

I BIRT nutzen seit frühen Tagen und nach wie vor Rätsel in Bezug auf PDF Emitter haben.

Kurzgeschichte : Kann ich fontsConfig.xml konfigurieren Schriften relativen Pfad zu laden oder von Gläsern?

Lange Geschichte: Wir verwenden sowohl FOP und BIRT für PDF in unserem Web-Anwendung zu generieren. Es wäre schön, Schriftarten zwischen Bibliotheken zu teilen. Leider kann ich nicht einen Weg, es zu tun mit BIRT 2.3.1

finden

Die Wurzel des Übels ist fontsConfig.xml Wenn ich es so konfigurieren, wie unten gezeigt, funktioniert gut:

<font-paths>
<path path="fonts"/>
</font-paths>

Aber Pfad erlaubt mir nicht, unter Verwendung weder relative Pfade nicht Classpath (oder ich kann kein geeigneter Weg finden, wie sie konfigurieren). Weder config1 noch config2 funktioniert.

Config1:

<font-paths>
<path path="../fonts"/>
</font-paths>

CONFIG2:

<font-paths>
<path path="classpath:fonts"/>
</font-paths>

wird Irgendwelche Gedanken geschätzt werden.

War es hilfreich?

Lösung

Bei einigen BIRT Versionen können Sie ein SystemProperty „birt.font.dirs“ verwenden. Dies überschreibt die fontsConfig.xml.

Nun, das einmal gearbeitet, aber offensichtlich war es aus dem BIRT-Quellcode später entfernt.

Jetzt können Sie so etwas wie

nennen
EngineConfig engineConfig = new EngineConfig();
URL fontsConfigurationURL = new URL("file:///path/to/my/fontsConfig.xml");
engineConfig.setFontConfig(fontsConfigurationURL);

Platform.startup(engineConfig);

Auf diese Weise können Sie BIRT mit einer angepassten Version von fontsConfig.xml versorgen, ohne Stochern in den JAR-Dateien.

Getestet mit BIRT 4.3.0.

Andere Tipps

Es gibt einen Weg Schriftart auf einem relativen Pfad zu haben, um in Birt verwendet werden.

Was Sie tun müssen, um die Schriften zu einer Stelle in Ihrer Web Application kopieren. Meins war in: C: \\ src \ main \ webapp \ Berichte

Jetzt in der Anwendung, verwenden Sie den folgenden Befehl, um die Schriften der oben genannten Position zu registrieren.

FontFactory.registerDirectory( scContext.getRealPath("/Reports") );

Dies wird die Schriftart registrieren.

Getestet auf Birt 4.3 bis Spring MVC

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top