2009-06-29 20 views
6

Ich habe eine Rptdesign-Datei mit BIRT IDE erstellt. Der Inhalt dieser Datei befindet sich in der Schriftart Arial. Wenn ich den Bericht in Windows in PDF exportieren, funktioniert das problemlos.Arial Schriftart in PDF erforderlich (BIRT pdf Renderer, Linux)

Ich verwende das Standard-ViewerServlet, um Berichte zu erstellen. Aber als ich den Bericht in ein Linux-System verschoben habe, wurde der gesamte Inhalt des Berichts in Times New Roman anstelle von Arial in der PDF-Datei angezeigt.

Dann kopierte ich die Arial.ttf-Datei/var/font/Truetype und hinzugefügt, um die folgende Zeile Plattform/plugins/org.eclipse.birt.report.engine.fonts_2.3.2.r232_20090202/fontsConfig.xml

Nach dem Hinzufügen dieser Zeile kommen alle Inhalte in Arial Schriftart, aber die Inhalte, die fett sind scheint komprimiert und sieht sehr hässlich aus.

Hat jemand dieses Problem und hat keine Lösung?

Danke Grüße, Arun

+0

Ich kenne Ihr spezielles Framework nicht, aber bietet es nicht die Möglichkeit, die verwendeten Schriftarten in das PDF einzubetten? – balpha

Antwort

0

Versuchen Sie, Ihren Weg in die Schriftart wie dies ausdrücklich besagt:

<font-paths> 
    <path path="/var/font/truetype/arial.ttf" /> 
</font-paths> 

Das Festlegen dieser Eigenschaft (font-Pfade) bewirken, dass das Verzeichnis Standardschriften in ignoriert werden Bevorzugung nur der Wege in diesem Set. Dadurch wird Arial zur einzigen verfügbaren Schriftart für Ihre PDF-Datei. Fügen Sie den Standardpfad (org.eclipse.birt.report.engine.fonts) unter den Eclipse-Plug-Ins zu Ihren font-paths-Einträgen hinzu, um die Standardschriftarten (TNR, Courier usw.) einzuschließen.

Sie können auch einfach Arial.ttf zum Standardverzeichnis hinzufügen und ALLE EINTRÄGE aus font-paths entfernen und den Arial-Typ auf diese Weise auswählen. So oder so sollte es funktionieren.

Viel Glück.

+0

Danach erscheinen auch die fett gedruckten Zeichen sehr fett und komprimiert. Ich denke, es ist das gleiche wie die Aufnahme der Schriftart Ordner. Anstatt alle Schriften zu laden, wird nur die Schriftart Arial geladen. –

+0

Arial.ttf hat eine fettgedruckte Variante in der Schriftart selbst. Solange die Font-Klasse gefunden wird, hat die PDF-Engine Probleme mit der Fettschrift. – MystikSpiral

0

Kann jemand mir sagen, ob es eine Problem mit der Schriftart Arial in Linux ist, wenn die Zeichen fett

Alles funktioniert gut für uns gesetzt sind. Unten ist mein Patch für fontsConfig.xml:

<font-aliases> 
    <mapping name="sans-serif" font-family="Arial" /> 
    ... 
</font-aliases> 
<font-paths> 
    <path path="fonts"/> 
</font-paths> 

Put in Schriftarten Ordner arial.ttf und arial.xml Dateien.

+0

Hallo, Danke für Ihre Antwort. Aber es funktioniert immer noch nicht für mich. Ich habe die font-aliases und font-paths in der Datei fontsConfig_pdf.xml hinzugefügt. Können Sie mir sagen, wie der fett gedruckte Text in Ihren Berichten funktioniert, ist es in Ordnung? –

+0

Ja. Bold Arial sieht gut aus. Hatten Sie mehrere fontsConfig-Dateien? Ich empfehle Ihnen (wenn möglich) 1 Datei fontsConfig.xml zu lassen und alles in der Datei zu konfigurieren. – FoxyBOA

2

Hier ist meine fontsConfig_pdf.xml Datei

<font> 
<font-aliases> 
    <mapping name="sans-serif" font-family="Arial" /> 
    <mapping name="serif" font-family="Times-Roman" /> 
    <mapping name="monospace" font-family="Courier" /> 
</font-aliases> 
<font-encodings> 
    <encoding font-family="Times-Roman" encoding="Cp1252" /> 
    <encoding font-family="Helvetica" encoding="Cp1252" /> 
    <encoding font-family="Courier" encoding="Cp1252" /> 
    <encoding font-family="Zapfdingbats" encoding="Cp1252" /> 
    <encoding font-family="Symbol" encoding="Cp1252" /> 
    <encoding font-family="STSong-Light" encoding="UniGB-UCS2-H" /> 
    <encoding font-family="STSongStd-Light" encoding="UniGB-UCS2-H" /> 
    <encoding font-family="MHei-Medium" encoding="UniCNS-UCS2-H" /> 
    <encoding font-family="MSung-Light" encoding="UniCNS-UCS2-H" /> 
    <encoding font-family="MSungStd-Light" encoding="UniCNS-UCS2-H" /> 
    <encoding font-family="HeiseiMin-W3" encoding="UniJIS-UCS2-H" /> 
    <encoding font-family="HeiseiKakuGo-W5" encoding="UniJIS-UCS2-H" /> 
    <encoding font-family="KozMinPro-Regular" encoding="UniJIS-UCS2-H" /> 
    <encoding font-family="HYGoThic-Medium" encoding="UniKS-UCS2-H" /> 
    <encoding font-family="HYSMyeongJo-Medium" encoding="UniKS-UCS2-H" /> 
    <encoding font-family="HYSMyeongJoStd" encoding="UniKS-UCS2-H" /> 
</font-encodings> 
<font-paths> 
     <path path="/var/fonts/truetype"/> 
</font-paths> 
<composite-font name="all-fonts"> 
    <font font-family="Times-Roman" catalog="Western" /> 
    <font font-family="MSung-Light" catalog="Chinese" /> 
    <font font-family="HeiseiKakuGo-W5" catalog="Japanese" /> 
    <font font-family="HYGoThic-Medium" catalog="Korean" /> 
</composite-font> 
</font> 
0

ich Stunden für diese Suche ausgegeben:

export BIRT_FONT_PATH=/usr/share/fonts/truetype 

Führen Sie diese und fertig!

0

Dann kopierte ich die Arial.ttf-Datei/var/font/truetype

Arial.ttf enthält nur die schlichte Version der Schriftart. Für fett, kursiv und kursiv-fett gibt es verschiedene Dateien (arialbd.ttf etc). Kopieren Sie diese auch.