H olger: uniform scaling bei Generierung von odt und pdf

Beitrag lesen

XSL Transformation scaliert keine Bilder (das macht die applikation), sondern transformiert lediglich Markup Language - einfach ausgedrueckt - die Folge der Zeichenketten, die aufeinander folgen.

Du solltest dich vergewissern, wie das xml Ergebnis fuer odt aussehen muss. Dazu nimmst du dir am besten ein leeres ODT Dokument, fuegst das bild normal ein. Dann speicherst du die Datei, benennst die in zip um, entpackst die datei und schaust in der content.xml mit einem texteditor nach, wie das xml ergebnis aussehen muss.

Oder du liest dir die ODT spezifikation durch, ODF ist ziemlich gut dokumentiert.

Hallo,
ich möchte mit xsl-fo aus einer ditamap sowohl ein pdf als auch ein odt (Open Office Writer Dokument) erzeugen.
Darunter befinden sich auch Bilder die ich auf die maximale Breite einer DIN A4 Seite skalieren möchte. Das mache ich in einem XSL-Styleshett folgendermaßen:

<fo:external-graphic

  src="{concat('url(', string(@href), ')')}"  
  scaling="uniform" width="100%" content-width="scale-to-fit"  content-height="100%"  

xsl:use-attribute-sets="image">
        </fo:external-graphic>

für das PDF-Generat funktioniert das einwandfrei.
Bei odt werden die Grafiken alle auf die maximale Breite gezerrt. und zwar nicht uniform.

dies entspricht bei pdf dem selben effekt wenn ich scaling="uniform" weglasse.
gibt es für odt eine alternative lösung?

Gruß
Thorsten