Die Anzeige von SVG mit XSLFO

Erste Frage von mir; ich bin momentan auf der Festsetzung einer Grafik-service, verwendet XSLFO konvertieren unsere syntax zu FO, und konvertiert Sie zu PDF-Datei in das Ende.

Bisher haben wir die Verwendung von PNG-Grafiken aus dem web im PDF-Exporte, aber das schafft wirklich hässliche Ergebnisse, also haben wir beschlossen zu gehen mit SVG nach PDF statt.

Jedoch die SVG scheint nicht die Waage in die SVG-canvas richtig.

Hier ist die syntax vor der Ausführung in XSLFO:

<img src="someimage.svg">

Und hier ist die XSLFO ich bin mit:

   <xsl:template match="img">
      <fo:block space-after="12pt">
          <fo:instream-foreign-object width="20cm" height="15cm" content-width="scale-to-fit" content-height="scale-to-fit" scaling="uniform" background-color="#cccccc">
          <svg:svg x="0" y="0" width="100" height="100" viewBox="0 0 100 100">
                <svg:image x="0" y="0" width="100" height="100">
                    <xsl:if test="@src">
                       <xsl:attribute name="xlink:href">
                          <xsl:choose>
                             <xsl:when test="starts-with(@src, 'http://')">
                                <xsl:value-of select="@src"/>
                             </xsl:when>
                             <xsl:when test="starts-with(@src, 'https://')">
                                <xsl:value-of select="@src"/>
                             </xsl:when>
                             <xsl:otherwise>
                                <xsl:value-of select="concat($baseurl, @src)"/>
                             </xsl:otherwise>
                          </xsl:choose>
                       </xsl:attribute>
                    </xsl:if>
                   </svg:image>
            </svg:svg>
         </fo:instream-foreign-object>
      </fo:block>
   </xsl:template>

Die SVG scheint in der PDF, und es scheint sich innerhalb der Leinwand, aber aus irgendeinem Grund kann ich nicht bekommen, es richtig zu skalieren. Es ist nur wirklich, wirklich riesig, und das Ergebnis ist eine extrem beschnittene version des SVG.

Ich bin keine Vorschläge hier - gibt es hier jemand, der Erfahrung damit hat dieser?

PS: Das Bild ist erstellt mit der neuesten version der Batik -, und die Breite und die Höhe richtig eingestellt ist.

InformationsquelleAutor hnilsen | 2010-02-26
Schreibe einen Kommentar