http://www.getit.de/2008/indexing/pdf

parsePdf (xlink : xlink, [fromDataSource : boolean]) : nodeset

Die Methode parsPdf gibt den textuellen Inhalt einer .pdf-Datei für jede Seite zurück sowie einige Meta-Informationen soweit sie in der Datei eingetragen sind.

Der Parameter »xlink« kann entweder ein XLink auf die binäre Datei selbst oder ein XLink auf die literale Methode sein, die das PDF-Rendering durchführt, also sozusagen bereits das Ergebnis »XY.pdf« liefert.

Der zweite Parameter »fromDataScource« ist optional. Wird er weg gelassen oder ist er »true()«, so erwartet die Extension einen XLink auf die Binärdaten selbst. Ist er »false()« wird ein XLink auf die Renderingmethode/-daten erwartet.

<xsl:stylesheet version="1.0">
<xsl:copy-of select="pdf:parsePdf('onion://data/objects/1234.4321')" />
<xsl:copy-of select="pdf:parsePdf('onion://data/objects/1234.4321', true())" />
<xsl:copy-of select="pdf:parsePdf(c.xlink('onion://data/objects/5678'), false())" />
</xsl:stylesheet>
Drei Beispiele für den Aufruf der Methode parsePdf()

Das Beispiel zeigt drei verschiedene Aufrufe der Methode »parsePdf()«.

Die ersten beiden haben dasselbe Ergebnis. Sie rufen auf dem Binärdatum »onion://data/objects/1234.4321« (was offenbar in ein Objekt hineingeladen wurde) die Methode auf.

Das dritte Beispiel hingegen gibt als ersten Parameter einen Xlink auf die »default()«-Methode eines Objektes an, welches offenbar ein binäres .pdf-Dokument enthält. Diese Methode hat als Ergebnis das PDF selbst. Der zweite Parameter ist daher »false()«.

Das Ergebnis-XML der Methode »parsePdf()« sieht folgendermaßen aus:

<pdf numberOfPages="3">
<information author="Mustemann" creationDate="2008-01-10T08:23:09.0000000+01:00" creator="" modificationDate="" producer="Acrobat Distiller 6.0.0 for Macintosh" title="Titel des Dokuments" />
<textExtraction>
<text page="1">Some text on page one...</text>
<text page="2">Some further text on page two...</text>
<text page="3">Some further text on page three...</text>
</textExtraction>
</pdf>
Ergebnis-XML der Methode parsePdf()