Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
EclipseSchriftarten und Birt, Probleme bei der pdf-Generierung
ich habe mit BIRT ein Rechnungsdokument mit einem schweizer ESR-Zahlschein erstellt. Das ganze erfolgte erst einmal als Test und die Parameter wurden von mir selbst befüllt. Ich habe hier nicht groß was entwickelt, sondern lediglich das Layout erstellt. Nun gibt es beim ESR Prüfziffern, die mit der Schriftart OCR B dargestellt werden müssen. Die dafür entsprechenden Textfelder sind über die Fonteinstellungen auf die Schriftart formatiert und alles wurde abgespeichert. Erzeuge ich jedoch das pdf-File, dann wird die Schriftart nicht in das pdf übernommen. Stattdessen werden die Prüfziffern mit Sans-Serif dargestellt. Das hatte ich aber nicht eingestellt.
Hier noch Informationen, die ggf. für Euch wichtig sind:
1. BIRT wurde als Runtime in Eclipse eingebunden.
2. es handelt sich bei Eclipse um die aktuelle Indigo-Version.
3. BIRT selbst ist die Version 3.7.1.
4. Ich verwende ein Macbook Pro mit der neuesten Mac Lion-Version und Java 1.6.
Es taucht keine Fehlermeldung o.ä. auf. Das pdf-File wird fehlerfrei erstellt. Nur die Schriftart wird nicht übernommen. Das Dokument insgesamt besteht aus zwei Schriftarten Helvetica für alle anderen Felder und OCR B für die Prüfziffern. Meine Frage lautet was muss ich tun, damit BIRT bei der pdf-Generierung die Schriftart OCR B verwendet anstatt sie umzuändern? Welche Einstellung fehlt mir hier?
Bitte erklärt mir das Schritt für Schritt, da ich selbst nicht entwickle, sondern mich nur um das Layout mittels Drag & Drop und Margin erstellt habe.
Also ich hab nix gefunden...wobei ich hier nicht ausschließen will, dass meine Sucheanfrage nicht so gut ausgedrückt war. Andererseits würde es mich wundern, immerhin konnte ich die Schriftart beim Layout unter den Properties auswählen.
ok...ich hab durch google mitbekommen, dass man in den älteren BIRT-Versionen die fontsConfig.xml anpassen konnte. Hier konnte man z.B. Pfade hinzufügen, in denen die System-Fonts waren oder eine Schriftart hinzufügen, welche keine True Type Schriftart war. Das scheint jedoch bei der Version 3.7.1 nicht mehr so einfach zu sein, da selbst nachdem ich den Pfad in dem Config-File hinzugügte OCR B noch immer in eine andere Schriftart umkonvertiert wurde. OCR B lässt sich zwar immer noch auswählen, aber bei der pdf-Erzeugung ist es eine andere Schriftart. An dem Standard pdf-Viewer von Mac liegt es nicht. Erzeuge ich z.B. aus einem Libre Office-Dokument mit einem OCR B Text ein pdf-File, dann wird der Text auch in OCR B dargestellt.
Ich suche weiter, aber wenn mir hier wer helfen könnte, der das Problem ebenfalls hatte und eine Lösung kennt wäre es echt super.
Ok eine Lösung für die Entwickler habe ich. Da ich hier keinen Plan habe wie und wo ich das einbinden muss, komme ich hier nicht weiter (bin nur ein einfacher Support-Mitarbeiter). Aber vlt. hilft mir dann ein Kollege. Es soll aber auch über die FontsConfig.xml gehen. Wenn ich da Infos hab, dann poste ich das. Hier mal der Quellcode für die Entwickler:
Java:
private void registerJavaFonts( )
{
AccessController.doPrivileged( new PrivilegedAction<Object>( ) {
public Object run( )
{
//register default fonts first
String javaHome = System.getProperty( "java.home" );
String fontsFolder = javaHome + File.separatorChar + "lib"
+ File.separatorChar + "fonts";
FontFactory.registerDirectory( fontsFolder );
// after that register all custom font dirs
String customFontsDir = "c:/myfonts";
FontFactory.registerDirectory(customFontsDir);
return null;
}
} );
}
Endlich hab ich die Lösung gefunden. Birt bezieht die Schriftarten aus dem JRE-Ordner. Fügt man eine Schriftart hinzu, dann klappt es. Der Ordner ist unter Mac hier zufinden:
/System/Library/Frameworks/JavaVM.framework/Home/lib/fonts
Damit hat sich das Problem zumindest für mich erledigt.