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.
<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>
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>
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>