Zum Inhalt springen

XSL-FO Problem


T_N

Empfohlene Beiträge

Hallo zusammen,

gleich vornweg: ich bin kein Informatiker, sondern Maschinenbauer, also geht vom Schlimmsten aus ;-)

Kurz zum Problem: Ich habe eine Art CAM-Programm in dem Daten für Bearbeitungsprozesse gespeichert sind.

Von einem externen Dienstleister wurde uns eine Art Tool programmiert, welches die Daten aus der Programmdatenbank in eine XML-Datei schreibt und über XSL in ein PDF ausgibt. (ich hoffe mal das ist nicht ganz falsch ausgedrückt...)

Das ganze funktioniert auch wunderbar, nur muss ich die Schriftart des ganzen ändern. ZurZeit ist die Schriftart "Arial".

Ich weiß, dass man die Schriftart über font-family="..." ändern kann.

In der XSL-Datei ist aber nirgendwo font-family zu finden; sobald ich zu einem <fo:block> font-family="irgendwas" hinzufüge, ist die Schriftart im pdf nachher immer Times New Roman.

Egal ob Verdana, Arial, courier, oder sonstwas eingetragen ist.

Kann es sein, dass die Schriftart irgendwo anders definiert ist? normalerweise sollte das font-family="..." doch irgendwelche voreinstellungen überschreiben...

Ich versuche mal, einen Auschnitt des XML-Dokuments anzuhängen, vielleicht trät das zum besseren Verständnis bei:


<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xalan="http://xml.apache.org/xalan" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java">

   <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes" />


   <xsl:decimal-format NaN="0" />


   <xsl:include href="Grob-ZeitstudieNodeSet.xsl" />


....


<!-- XSL-FO Design Parameter -->

   <xsl:variable name="font-family">Verdana</xsl:variable>


   <xsl:variable name="table-width">277mm</xsl:variable>


   <xsl:variable name="font-size1">6pt</xsl:variable>


   <xsl:variable name="font-size3">6pt</xsl:variable>


   <xsl:variable name="border1">0.5pt solid</xsl:variable>


   <xsl:variable name="colRed">rgb(256,0,0)</xsl:variable>


   <xsl:variable name="padd1">1.1pt</xsl:variable>


   <xsl:variable name="padd2">8pt</xsl:variable>


   <xsl:variable name="padd3">1pt</xsl:variable>


   <xsl:variable name="padd4">1pt</xsl:variable>


   <xsl:variable name="padd5">2pt</xsl:variable>


   <xsl:variable name="padd6">3pt</xsl:variable>


...



               <fo:table table-layout="fixed" width="{$table-width}" height="55mm" border="0.5pt solid">

                  <fo:table-column column-width="24mm" />


                  <fo:table-column column-width="30mm" />


                  <fo:table-column column-width="24mm" />


                  <fo:table-column column-width="20mm" />


                  <fo:table-column column-width="30mm" />


                  <fo:table-column column-width="20mm" />


                  <fo:table-column column-width="15mm" />


                  <fo:table-column column-width="32mm" />


                  <fo:table-column column-width="19mm" />


                  <fo:table-column column-width="10mm" />


                  <fo:table-column column-width="38mm" />


                  <fo:table-column column-width="15mm" />


                  <fo:table-body>

                     <fo:table-row>

                        <fo:table-cell border-bottom="0.5pt solid">

                           <fo:block start-indent="1mm" padding-before="2pt" text-align="left">

                              <fo:external-graphic src="jsp/Grob-Logos/GROB2.bmp" width="60px" height="19px" />

                           </fo:block>

                        </fo:table-cell>


                        <fo:table-cell number-columns-spanned="11">

                           <fo:block padding-after="5pt" padding-before="5pt" text-align="center" font-weight="bold" font-size="14pt">

                              <xsl:value-of select="$config/f1/*[local-name() = string($lang)]" />

                           </fo:block>

                        </fo:table-cell>

                     </fo:table-row>


                     <fo:table-row>

                        <fo:table-cell number-columns-spanned="4" border-bottom="0.5pt solid" border-top="0.5pt solid">

                           <fo:block padding-after="3pt" padding-before="3pt" text-align="center" font-weight="bold" font-size="8pt">

                              <xsl:value-of select="$config/f2/*[local-name() = string($lang)]" />

                           </fo:block>

                        </fo:table-cell>


                        <fo:table-cell number-columns-spanned="6" border="0.5pt solid">

                           <fo:block padding-after="3pt" padding-before="3pt" text-align="center" font-weight="bold" font-size="8pt">

                              <xsl:value-of select="$config/f3/*[local-name() = string($lang)]" />

                           </fo:block>

                        </fo:table-cell>


                        <fo:table-cell number-columns-spanned="2" border-bottom="0.5pt solid" border-top="0.5pt solid">

                           <fo:block padding-after="3pt" padding-before="3pt" text-align="center" font-weight="bold" font-size="8pt">

                              <xsl:value-of select="$config/f4/*[local-name() = string($lang)]" />

                           </fo:block>

                        </fo:table-cell>

                     </fo:table-row>



es wird hier eine Art Tabelle erzeugt. Aber wie gesagt, egal was ich hinzufüge (siehe unten) also z.B. font-family="verdana", die Schriftart ist immer Times New Roman...

<fo:table-cell number-columns-spanned="6" border="0.5pt solid">

  <fo:block padding-after="3pt" padding-before="3pt" text-align="center" [B][COLOR="SeaGreen"]font-family="verdana"[/COLOR][/B] font-weight="bold" font-size="8pt">

     <xsl:value-of select="$config/f3/*[local-name() = string($lang)]" />

   </fo:block>

</fo:table-cell>

$config/f1, $config/f2 usw. sind übrigens eine Art Textbaustein aus einem anderen xml.

Wäre super, wenn mir jemand weiterhelfen könnte!

Vielen Dank schonmal!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...