12.7.07

Drucken mit Apache FOP

Mehrfach tauchen Fragen bzgl. APEX 3.0 bzw. 3.0.1 auf und das Drucken im PDF Format.

Es gibt seit APEX 3.0 2 Varianten:
1. PDF Drucken mittels FOP (kostet etwas Geld --> OC4J Java Edition Lizenz)
2. PDF Drucken via XML (BI)- Publisher - unterstützt noch andere Formate und ist flexibel im Layouting (kostet etwas mehr Geld --> Bi-Publisher Lizenz)

Zu 1. PDF Drucken mittels FOP
Also - zunächst: Was ist FOP?
Ich fand hierzu:
"Apache FOP (Formatting Objects Processor) is a Java utility that reads a
formatting object tree and then turns it into a PDF document. The formatting
object tree, can be in the form of an XML document. Apache FOP renders
a PDF output from an XML document.

Oracle 9i XDK has FOP Serializers that can create PDF output from XSQL pages
using Apache FOP. The oracle.xml.xsql.serializers.XSQLFOPSerializer class
is provided in xsqlserializers.jar for integrating with the Apache XML
Project's FOP processor."

Gemäß Installation Document muß man kurzgesagt:
- einen OC4J (10.1.2.3) = Oracle Application Server J2EE Edition installieren
- den FOP.WAR "deployen" (installieren)
- die Parameter in APEX (internal/admin/pwd) unter "Instance Settings" --> Print einrichten
Dann sollte es gehen....
Hier noch ein Viewlet zur FOP.WAR Installation im OC4J.
Noch zur Info:
Die Parameter von APEX (in Internal Workspace --> Instance Settings) und dem OC4J müssen matchen, sonst kann keine Kommunikation zustande kommen.

Der Ablauf ist nämlich so:
Klickt man in APEX auf "Print" oder Drucken rechts neben dem Download Link auf der jeweiligen Seite, werden die Daten als XML Format über ein Template rausgeschrieben und dann an die JSP übergeben.
Die JSP sorgt dann dafür, dass das XML über FOP als PDF zusammengestellt wird und ausgegeben werden kann.

Zu 2. PDF (u.a. Formate) drucken via XML (BI)- Publisher
demnächst mehr...

Keine Kommentare: