Reports als PDFs "drucken" in APEX

03.
August
2007

Sie wollten schon immer Ihre Reports in APEX im PDF Format ausgeben, aber Ihnen fehlte die nötige Anleitung?

Dann wird Ihnen hier und jetzt geholfen. ;-)

Sie wollten schon immer Ihre Reports in APEX im PDF Format ausgeben, aber Ihnen fehlte die nötige Anleitung?

Dann wird Ihnen hier und jetzt geholfen. ;-)

Falls Sie es nur einmal testen wollen und keinen Zugriff auf eine schon installierte APEX-Version haben, müssen Sie sie natürlich erst installieren. Dazu benutzen Sie am besten die beiliegende ReadMe-Datei. Diese veranlasst Sie zum Aufruf eines Skriptes, zum Beispiel in dieser Form, wenn Sie lokal arbeiten:

sqlplus "sys/sys as sysdba" @apexins admin SYSAUX SYSAUX TEMP /i/ none

Oder falls Sie einen Connect String benutzen:

sqlplus "sys/sys@10g as sysdba" @apexins admin SYSAUX SYSAUX TEMP /i/ 10g

Hinweis: Sie sollten auf jeden Fall vorher auf DOS-Ebene in das entpackte APEX Verzeichnis wechseln, bevor Sie den oben genannten Befehl ausführern.

Am Ende sollten Sie einen ähnlichen Text wie den Folgenden sehen:

Thank you for installing Oracle Application Express.

Oracle Application Express is installed in the FLOWS_030000 schema.

The structure of the link to the Application Express administration services is
as follows:
"http://host:port/pls/apex/apex_admin" (Oracle HTTP Server with mod_plsql)
"http://host:port/apex/apex_admin" (Oracle XML DB HTTP listener with the embed
ded PL/SQL gateway)

The structure of the link to the Application Express development interface is as
follows:
"http://host:port/pls/apex" (Oracle HTTP Server with mod_plsql)
"http://host:port/apex" (Oracle XML DB HTTP listener with the embedded PL/SQL
gateway)

-- Now beginning upgrade. This will take several minutes.-------
-- Ensuring template names are unique -------
-- Migrating metadata to new schema -------
-- Switching builder to new schema -------
-- Migrating SQL Workshop metadata -------
-- Upgrading new schema. -------
-- Copying preferences to new schema. -------
-- Updating user account expiration. -------
Upgrade completed successfully no errors encountered.
-- Upgrade is complete -----------------------------------------
Timing f³r: Upgrade
Abgelaufen: 00:00:38.71
JOB_QUEUE_PROCESSES: 4

Performing Application Express component validation - please wait...

Completing registration process.
Validating installation.
Timing f³r: Validate Installation
Abgelaufen: 00:02:05.78
Timing f³r: Complete Installation
Abgelaufen: 00:15:59.01
Verbindung zu Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production beendet

Danach lassen Sie noch das apex_epg_config.sql Skript laufen, damit auch alles in APEX angezeigt wird. 

Hinweis: Der Übergabeparameter muss auf das Verzeichnis zeigen, in dem der Apex Ordner liegt. Zum Beispiel müssen Sie dem Skript den Pfad 'c:\temp\' übergeben, wenn der Image Ordner von Apex unter dem Pfad 'c:\temp\apex\images ' zu erreichen ist.

Der Skript-Ablauf sollte wie folgt aussehen:

SQL> @apex_epg_config C:\temp\

PL/SQL-Prozedur erfolgreich abgeschlossen.

PL/SQL-Prozedur erfolgreich abgeschlossen.

alt 1: create directory APEX_IMAGES as '&1/apex/images'
neu 1: create directory APEX_IMAGES as 'C:\temp\/apex/images'

Verzeichnis wurde erstellt.

PL/SQL-Prozedur erfolgreich abgeschlossen.

Transaktion mit COMMIT abgeschlossen.

PL/SQL-Prozedur erfolgreich abgeschlossen.

Timing für: Load Images
Abgelaufen: 00:01:23.17

Session wurde geändert.

PL/SQL-Prozedur erfolgreich abgeschlossen.

Transaktion mit COMMIT abgeschlossen.

Session wurde geändert.

Verzeichnis wurde gelöscht.

Nun geht es mit den Vorbereitungen für die PDFs los.

1.) Als Erstes müssen Sie sich das JDK herunterladen und installieren (das Wichtigste hierbei ist der Compiler => javac.exe). Wenn Sie eine aktuellere oder vielleicht sogar eine ältere Version von dem JDK benützen, müssen Sie die Pfadangaben in diesem Tipp an Ihre Umgebung anpassen.

2.) Laden Sie das Oracle Call Interface for Java (OC4J) Version 10.1.3.3.0 herunter, zum Beispiel unter http://www.oracle.com/technetwork/middleware/ias/downloads/utilsoft-090603.html

>> Beachten Sie die Lizenzbestimmungen!<<

3.) Entpacken Sie die heruntergeladene Datei zum Beispiel in das Verzeichnis c:\oraclexe\oc4j_extended_101330

4.) Erzeugen Sie eine Batch-Datei mit zum Beispiel dem Namen start_oc4j.bat. Diese füllen Sie mit nachfolgendem Text:

Rem Pfad zum "Home" Verzeichnis des JDKs
set JAVA_HOME=C:\Programme\Java\jdk1.6.0_02
Rem Pfad zum Home Verzeichnis des ->OC4J<- nicht des Oracle Home wie man Rem fälschlicherweißer 
annehmen könnte
set ORACLE_HOME=D:\oraclexe\oc4j_extended_101330
c:\oraclexe\oc4j_extended_101330\bin\oc4j -start

5.) Starten Sie nun diese Batch-Datei:

 

Abb. 1: Eine ohne Kommentare versehene Batch-Datei, welche ein zweites Mal gestartet wurde,
sollte so aussehen.

6.) Nun werden Sie aufgefordert, das Passwort für den oc4jadmin einzugeben und es mit einer nochmaligen Eingabe zu bestätigen.

7.) Gehen Sie, wenn die OC4J initialisiert ist, wie auf Abbildung 2 zu sehen, auf "http://127.0.0.1:8888/em"
Melden Sie sich dort mit dem Benutzername "oc4jadmin" und dem von Ihnen gerade angegebenen Passwort an:

Abb. 2: Dies ist ein kleiner Ausschnitt aus dem Login Bereich.

Abb. 3: Danach lädt sich die Home-Seite.

8.) Wechseln Sie nun auf den Tab "Anwendungen":

Abb. 4: Auf diesem kleinen Ausschnitt des Anwendungs-Tabs sehen Sie unter anderem den "Bereitstellen Button", den Sie im nächsten Schritt brauchen.

9.) Klicken Sie auf den Button "Bereitstellen".

10.) Wählen Sie durch den "Durchsuchen Button" die fop.war Datei aus. Diese befindet sich in diesem Beispiel unter c:\temp\apex\utilities\fop\fop.war . Klicken Sie dann auf weiter.

Abb. 5

11.) Als Anwendungsnamen tragen Sie "fop" ein und entfernen dann jeglichen Text aus der Context Root Textbox.

Abb. 6

12.) Nun klicken Sie auf "Bereitstellen".

Abb. 7

Die "ausserAPEXlichen" Vorbereitungen sind damit abgeschlossen. Die im späteren Verlauf auftauchenden Anweisungen beschränken sich nur noch auf APEX.

13.) Melden Sie sich als Admin des Workspaces INTERNAL an.

14.) Wechseln Sie vom Home über "Manage Service" zum "Instance Setting"

15.) Im Report Printing Bereich geben Sie bitte diese Werte an:

       * Oracle BI Publisher: Standard Support

       * Print Server Protocol: HTTP oder HTTPS

       * Print Server Host Address: <hostname> oder <ipadresse>

       * Print Server Port: 8888

       * Print Server Script: /fop/apex_fop.jsp

Abb. 8

16.) Klicken Sie auf "Apply Changes" und melden Sie sich als Admin ab und sich an Ihrem Workspace als Entwickler wieder an.

17.) Wechseln Sie auf die Seite mit dem Report in Ihrer Applikation.

18.) Gehen Sie auf die Print Attributes und dort in den Printing Bereich.

19.) Stellen Sie hier nun Folgendes ein:

        * Enable Report Printing: Yes

        * Link Label: PDF-Dokument

        * Output Format: PDF

Abb. 9

20.) Nun können Sie Ihren Report als PDF "drucken"

Weitere APEX Tipps erhalten Sie einem unserer beiden Opens internal link in current windowAPEX Kurse (welche ab August 2009 jeweils 5 Tage lang sind!).

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.