PDF Renderkit
This is version . It is not the current version, and thus it cannot be edited.
Back to current version   Restore this version

Das PDF Renderkit ist eine unabhängige Erweiterung für JSF, mit dem nahezu beliebige Web-Seiten als PDF gerendert werden können. Das PDF Renderkit basiert dabei auf Flying Saucer PDF und integriert diesen vollständig in den JSF Lifecycle.

Maven#

Das Artifact kann in der pom.xml eingebunden werden mit:
	<dependency>
		<groupId>com.intersult</groupId>
		<artifactId>pdf-renderkit</artifactId>
		<version>1.0</version>
	</dependency>

Aus dem Intersult Repository:

	<repository>
		<id>intersult-repo</id>
		<name>Intersult Repository</name>
		<url>http://intersult.com/public/maven</url>
	</repository>

Anwendung#

Die einfachste Möglichkeit eine XHTML-Seite mit dem PDF Renderkit auszugeben, ist einen der URL das Renderkit hinzuzufügen:
http://localhost/test/faces/text.xhtml?javax.faces.RenderKitId=PDF

Möchte man einen derartigen Link erzeugen, kann man die Unterstützung von JSF verwenden. Hier zum Beispiel ein generischer PDF-Button (Request-URI):

<h:outputLink id="print" value="#{request.requestURI}">
	<f:param name="javax.faces.RenderKitId" value="PDF"/>
	<h:outputText value="PDF"/>
</h:outputLink>

Stylesheets und Images#

Da die PDF-Erzeugung die Stylesheets der Seite braucht, ist der Zugriff darauf sicherzustellen. Normaler Weise werden Stylesheets über den Request-URL gezogen, also relativ zur angefragten Seite. Aus Gründen wie Verschlüsselung, Session-Id, Sicherheit, Load-Balancer oder Reverse-Proxy kann es erforderlich sein, eine andere URL zu verwenden.

Dazu kann der GET-Parameter "print.pdf.baseURL" angegeben werden:

<h:outputLink id="print" value="#{request.requestURI}">
	<f:param name="javax.faces.RenderKitId" value="PDF"/>
	<f:param name="print.pdf.baseURL" value="http://localhost/test/"/>
	<h:outputText value="PDF"/>
</h:outputLink>