Druckfreundliche (PDF, Word, Excel) Ausgabe mit Application Express und dem BI Publisher

Die druckfreundliche Ausgabe von Berichten ist eine der interessantesten neuen Möglichkeiten von Application Express 3.0. Möglich wird dies durch die Integration mit dem Oracle BI Publisher oder einer anderen FO-Engine (Apache FOP), welcher das Konvertieren der Berichte in PDF oder eins der Office-Formate übernimmt.

PDF-Ausgabe mit Application Express und dem BI Publisher: Architektur

Abbildung 1: PDF-Ausgabe mit Application Express und dem BI Publisher: Architektur

Wie aus Abbildung 1 erkennbar ist, ist der BI Publisher kein Bestandteil von Application Express. Es ist ein separates Produkt, erfordert eine separate Lizenz und läuft in einer J2EE-Architektur. Soll ein Application Express-Bericht als PDF ausgegeben werden, so werden die Daten und ein Layout-Template an den BI Publisher gesendet, dieser generiert daraus das PDF-Dokument und sendet es an den Web-Browser des Nutzers.

Die PDF-Ausgabe kann in Application Express auf zweierlei Art und Weise eingerichtet werden:

Bei Verwendung des Standard Support können Sie sowohl die in Application Express hinterlegten Standard-Layoutvorlagen als auch eigene XSL:FO Stylesheets verwenden. Die Standard-Vorlagen erzeugen ein Tabellen-Layout, erlauben jedoch Variantionen bei Farben, Schriftarten und -Größen. Wenn Sie eigene XSL:FO-Stylesheets hinterlegen, sind Sie bei der Wahl des Layouts frei - Das Coding von XSL:FO-Stylesheets ist jedoch sehr aufwändig und erfordert Kenntnisse sowohl von XML, XSLT als auch XSL:FO. Standard Support funktioniert mit jeder FO-Engine - neben dem BI Publisher kann also auch eine Open Source-Engine (Apache FOP) verwendet werden.

     
Mögliche Druck-Layouts bei Verwendung von Standard Support

Sollen wiederkehrend auch komplexere Berichts-Layouts erstellt werden, so kommt die Verwendung der Variante Advanced Support in Betracht. Advanced Support funktioniert nur mit dem Oracle BI Publisher und gibt die Möglichkeit, die Layoutvorlagen grafisch mit dem BI Publisher Word Template Builder zu erstellen. Das Hinzufügen von Logos, Charts oder anderen Komponenten ist mit dieser Variante auf einfachstem Wege möglich.

     
Mögliche Druck-Layouts bei Verwendung von Advanced Support

Im folgenden erfahren Sie also, wie Sie Ihre Application Express-Anwendung um die Möglichkeit zur druckfreundlichen Ausgabe erweitern. Dazu müssen Sie zunächst den BI Publisher installieren: Laden Sie also den Oracle BI Server (Enterprise Edition) aus dem OTN herunter. Nachdem Sie das Archiv ausgepackt haben, starten Sie auf Windows die Datei setup.exe bzw. auf Unix oder Linux die Datei setup.sh. Die folgenden Bildschirmfotos sind während einer Installation auf Linux entstanden - für eine Installation auf Windows sollten sie ähnlich aussehen.



Legen Sie zu Beginn der Installation fest, in welches Verzeichnis der BI Publisher installiert werden soll.



Wählen Sie den Oracle BI Publisher als zu installierende Komponente aus.



Stellen Sie, bevor Sie installieren, sicher, dass eine Java-Laufzeitumgebung in der Version 5.0 oder höher auf dem Rechner installiert ist.



Nun geht's los ...



Die Installation sollte nicht länger als 10 bis 15 Minuten dauern.



Fertig. Der BI Publisher wurde vom Installer bereits gestartet. Das Fenster zeigt Ihnen noch das Kommando an, mit dem Sie ihn bei Bedarf selbst starten können.

Ob der BI Publisher läuft, können Sie auch mit einem Browser prüfen. Navigieren Sie einfach zum Server, auf dem Sie installiert haben - der TCP/IP-Port ist normalerweise 9704. Als URL ergibt sich damit http://[server]:9704/xmlpserver.

Der BI Publisher ist installiert und bereit.

Der BI Publisher ist installiert und bereit.

Diese Seite werden Sie für die Integration mit Application Express im folgenden nicht weiter benötigen. Auch ein Login auf dieser Seite ist nicht erforderlich. Es geht im nächsten Schritt an die Einrichtung von Application Express.

Loggen Sie sich als Application Express-Administrator (Workspace INTERNAL) an. Navigieren Sie dann zu Service verwalten, von dort zu Umgebungseinstellungen verwalten und schließlich zu den Instance-Einstellungen.

Navigation zu den Instance-Einstellungen

Abbildung 2: Navigation zu den Instance-Einstellungen

Im Bereich Bericht drucken finden Sie die für den BI Publisher relevanten Einstellungen. Geben Sie zunächst an, welche Variante Sie nutzen möchten. Wie bereits oben beschrieben erlaubt Standard Support die Nutzung beliebiger FO-Engines - die Layouts sind jedoch eingeschränkt. Advanced Support funktioniert nur mit dem BI Publisher. In die drei Felder darunter tragen Sie die Host-Adresse des Rechners, auf dem Sie den BI Publisher installiert haben, den TCP/IP-Port (normalerweise 9704) und den URL-Pfad (für BI Publisher stets /xmlpserver/convert) ein.

Einstellungen zum BI Publisher hinterlegen

Abbildung 3: Einstellungen zum BI Publisher hinterlegen

Die Einbindung einer anderen FO-Engine soll hier nicht näher betrachtet werden; für das Beispiel Apache FOP finden sich in diesem OTN How To-Dokument in den Abschnitten 4 und 5 nähere Informationen.

Nun ist alles vorbereitet; Sie können die PDF-Ausgabe testen. Erstellen Sie eine Anwendung mit einem Bericht auf die Tabelle EMP.-

Ausgangspunkt: Ein Bericht auf die Tabelle EMP

Abbildung 4: Ausgangspunkt: Ein Bericht auf die Tabelle EMP

Navigieren Sie nun zu den Berichtsattributen. Dort befindet sich nun neben den bekannten Reiterkarten Regionsdefinition und Berichtsattribute eine dritte Karte Druckattribute.

Druckattribute eines Berichts

Abbildung 5: Druckattribute eines Berichts.

Wählen Sie in der Auswahlliste Berichtsdruck aktivieren "Ja" aus; darunter können Sie nun ein Link-Label und einen Dateinamen festlegen. Daraufhin wird unterhalb des Berichts ein Link hinzugefügt - bei Klick auf diesen Link wird der Bericht angefordert.

Der BI Publisher unterstützt vier Formate: Word (RTF), Excel ( XLS), PDF und HTML. Sie können entweder ein Format in den Druckattributen fest vorgeben oder die Auswahl anhand eines Seitenelements vornehmen - der Nutzer hat dann die freie Wahl. Erzeugen Sie dazu ein neues Element vom Typ Auswahlliste mit Umleitung und tragen Sie STATIC:PDF;PDF,Excel;XLS,Word (RTF);RTF,HTML;HTML als statische Werteliste ein. Setzen Sie den Namen der Auswahlliste in den Druckattributen unter Element ein und wählen Sie als Ausgabeformat Von Seitenelement ableiten.

Nehmen Sie die übrigen Einstellungen nach Geschmack vor und speichern Sie die Änderungen. Starten Sie die Seite neu und klicken Sie auf den neuen Link. Daraufhin sollte sich ein Browser-Fenster öffnen, in welchem Sie gefragt werden, ob Sie die Datei sofort ansehen oder speichern möchten.

Anfordern der Druckausgabe

Abbildung 6: Anfordern der Druckausgabe.

Speziell in deutschsprachigen Umgebungen kann es vorkommen, dass Sie leere oder beschädigte Dateien erhalten. Dies ist ein mittlerweile bekannter Fehler in der Integration des BI Publisher mit Application Express 3.0.0.00.20 und wird mit dem nächsten Application Express-Patchset behoben. Bis zum Erscheinen des Patchsets stehen Ihnen verschiedene Workarounds zur Verfügung.
  • Sie können in den Anwendungsattributen (Gemeinsame Komponenten - Anwendungsdefinition - Globalization) und ggfs. im Browser die Sprache auf Englisch einstellen. Die "Nebenwirkung" wird jedoch sein, dass Datums- und Zahlenformate u.U. nicht mehr wie gewünscht aussehen.

  • Stellen Sie in den Druckattributen alle Einheiten auf Punkt um, tragen Sie jedoch dabei nur ganzzahlige Werte ein. Die Umrechnung von Millimetern in Punkt ist wie folgt: 1 mm = 2,835 Punkt (pt).

  • Betrachten Sie die URL des neuen Links für die Druckausgabe. Sie sollte in etwa so aussehen:
                      http://[server]:[port]/pls/apex/f?p=101:1:2106839137433758:FLOW_XMLP_OUTPUT_R996510834010359_de
    Kopieren Sie diese URL in die Zwischenablage (Ctrl-C). Navigieren Sie dann wieder zu den Druckattributen des Berichts und "deaktivieren" Sie die Druckausgabe, indem Sie die Auswahlliste Berichtsdruck aktivieren auf Nein stellen. Navigieren Sie anschließend zur Regionsdefinition, dort zum Regions-Footer und nehmen Sie den in die Zwischenablage kopierten Link als Hyperlink hier auf - ersetzen Sie dabei jedoch die letzten beiden Zeichen de durch en.
                      <a href="/f?p=&APP_ID.:&APP_PAGE_ID.:&SESSION.:FLOW_XMLP_OUTPUT_R996510834010359_en">Druckausgabe</a>

Wenn diese vordefinierten Layouts für Ihre Bedürfnisse nicht ausreichen, haben Sie die Möglichkeit, zusätzliche Berichts-Layouts zu definieren. Navigieren Sie dazu zu den Gemeinsamen Komponenten und dort zum neuen Menüpunkt Berichts-Layouts. Mit einem Klick auf die Schaltfläche Erstellen erzeugen Sie ein neues Layout.

Neue Berichts-Layouts erstellen

Abbildung 7: Neue Berichts-Layouts erstellen

Wenn Sie beim Einrichten des BI Publisher in Application Express die Option Advanced Support eingestellt haben, sehen Sie zusätzlich die Möglichkeit, Benannte Spalten (RTF) auszuwählen. Die Möglichkeit, XSL:FO-Stylesheets zu pflegen, haben Sie auch mit Standard Support.

Erstellen eines neuen Berichts-Layouts durch Pflege der XSL:FO Stylesheets

Abbildung 8: Erstellen eines neuen Berichts-Layouts durch Pflege der XSL:FO Stylesheets

BI Publisher Desktop erweitert MS Word um einige Makros, so dass die Layoutvorlage bequem mit grafischer Unterstützung durch MS Word erfolgen kann. Nachdem die Vorlage als RTF (Rich Text Format)-Datei gespeichert wurde, kann Sie hier unter Benannte Spalten (RTF) hochgeladen werden. Wie oben bereits erwähnt, benötigen Sie die Einstellung Advanced Support und zwingend den BI Publisher, um dies nutzen zu können.

BI Publisher Desktop: Erstellen eines Layouts mit MS Office

Abbildung 9: BI Publisher Desktop: Erstellen eines Layouts mit MS Office

Wenn Sie mit einer dieser Varianten (entweder RTF oder XSL:FO) ein neues Berichtslayout erstellt haben, können Sie es in den Druckattributen eines Berichts in der Auswahlliste Berichtslayout bequem auswählen.

Mit dem BI Publisher bietet sich dem Application Express-Entwickler eine sehr mächtige Möglichkeit, elegante Druckausgaben für Berichte zu erzeugen. Bereits die Variante Standard Support bietet die Auswahl zwischen vier Ausgabeformaten, vorkonfigurierte Layout-Vorlagen und die Möglichkeit, andere FO-Engines einzubinden.

Sollen wiederkehrend neue oder Berichte mit wechselnden Layouts erstellt werden, so dürfte die Variante Advanced Support die bessere Option sein. Zwar ist man hier auf den Einsatz des BI Publishers beschränkt, allerdings ist die Definition eines neuen Layouts mit MS Word wesentlich einfacher, produktiver und erfordert darüber hinaus keine besonderen XML- oder Stylesheet-Kenntnisse. In der nächsten Ausgabe werden wir dies anhand eines Beispiels darstellen. Die Definition der Layoutvorlagen kann also einem Fachbenutzer überlassen werden - während sich der Anwendungsentwickler um die eigentliche Applikation kümmert.

Zurück zur Community-Seite