http://onionworks.net/2006/imageservice/pdf

createWorkspace (target : xlink, options : nodeset, [fromDatasource : boolean]) : nodeset

Die Methode createWorkspace in diesem Namensraum erzeugt aus einem PDF eine Grafik und gibt diese als Workspace zurück.

Der Parameter xlink ist entweder ein XPath zu den binären Daten im Dokument oder ein XLink zu einer binären Methode.

Abhängig von xlink ist der Parameter fromDatasource. Wird ein XLink auf eine binäre Methode übergeben, so muss fromDatasource auf false gesetzt werden. Der Standardwert für fromDatasource ist true.

Der Parameter options ist ein XML mit Optionen zum Einstellen des Ghostscript-Prozesses.

Das XML kann wie folgt aussehen:

<options page="pageNumber" deviceXResolution="horizontalDPI" deviceYResolution="verticalDPI" textAlphaBits="[1-4]" graphicsAlphaBits="[1-4]" />

Mit Angabe des Parameters page wird die angegebene Seite als Grafik generiert. Der Standardwert für page ist 1.

Die Parameter deviceXResolution und deviceYResolution geben die DPI-Zahl für die Horizontale und Vertikale an. Der Standardwert für beide Parameter ist 100.

TextAlphaBits setzt das Anti-Aliasing für Text in einem PDF. Der Wertebereich geht von 1 bis 4. Hierbei ist 4 die beste Qualität und auch gleichzeitig der Standardwert. Für den Parameter graphicsAlphaBits gilt der gleiche Wertebereich, jedoch setzt dieser das Anti-Aliasing für die Grafiken im PDF.

<xsl:stylesheet xmlns:isp="http://onionworks.net/2006/imageservice/pdf" xmlns:is="http://onionworks.net/2006/imageservice" xmlns:ise="http://onionworks.net/2006/imageservice/encoders" xmlns:b="http://onionworks.net/2004/renderengine/binary" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:onion="http://onionworks.net/2004/data" version="1.0">
<xsl:template match="/">
<xsl:variable name="options">
<options page="3" deviceXResolution="200" deviceYResolution="200" />
</xsl:variable>
<xsl:variable name="workspace" select="isp:createWorkspace(c.xlink('default'), $options, false())" />
<xsl:value-of select="is:writeWorkspace($workspace, ise:createJpegEncoder(75))" />
<b:output mimeType="image/jpeg" />
</xsl:template>
</xsl:stylesheet>
Beispiel für createWorkspace