KONTAKT Basic concept Suchen





0661 25100-0Support & Info-Hotline
Unsere Kunden
Allianz: Versicherung, Vorsorge, Vermögensaufbau
Bausparkasse Schwäbisch Hall
Hamburger Sparkasse
Geberit Gruppe
Bischof + Klein
NAeS Consulting S.r.l.
0661 25100-0Support & Info-Hotline
Weitere Produkte
Unsere Partner
Oracle Gold Partner

Technisches Grundprinzip

In diesem Dokument wird das grundlegende technische Prinzip von n2pdf Client oder n2pdf Server Agent beschrieben, welches auf einer Integration durch Programmierung basiert.

Das technische Grundprinzip von n2pdf Archive basiert auf der Konfiguration von Notes-Dokumenten und arbeitet ohne Programmierung.

Die nachfolgende Grundstruktur und Ablaufreihenfolge definiert das Vorgehen, das bei jeder PDF-Erstellung zu berücksichtigen ist. Dieses Grundprinzip gilt für die Einbindung über Lotus Script und Java bei n2pdf Client und n2pdf Server Agent.

Hinweis: Im nachfolgenden Text finden Sie Klammern mit Zahlen (in roter Schrift), die den Bezug zu dem weiter unten aufgeführten LotusScript Code herstellen.

Neben der Einbindung von n2pdf über die Datei "n2pdfDef.SCR" (1) sind die folgenden Schritte bei der PDF-Erstellung zu erledigen:

1. Initialisierung einer neuen PDF-Datei

Um mit n2pdf eine PDF-Datei zu erstellen, müssen Sie einen "Job" im Hauptspeicher des Rechners starten. Dies wird über den Befehl N2PDFInit (2) gemacht. Dieser Befehl liefert Ihnen eine ID (Job-ID) für die PDF-Datei und erzeugt die notwendigen Strukturen im Speicher des Rechners. Sie sollten diese ID auf ihre Gültigkeit (3) hin überprüfen (siehe N2PDFInit), denn nur dann ist die weitere Ausführung der PDF-Erstellung sinnvoll. Erst nach diesem ersten Schritt ist es möglich, Inhalte und Einstellungen für die PDF-Datei zu definieren.

2. Einstellungen der PDF-Datei festlegen

Im nächsten Schritt sollten Sie alle Einstellungen (4) über N2PDFSetOption und N2PDFSetGlobalOption für die PDF-Datei vornehmen. Dies können z. B. die Sicherheitseinstellungen der PDF-Datei sein, aber auch Einstellungen wie das automatische Starten des Viewers oder die Definition des Inhaltsverzeichnisses. Da einige Einstellungen direkte Auswirkungen auf die Inhalte der PDF-Datei haben, sollten Sie alle Einstellungen gesetzt haben, bevor Sie den ersten Inhalt, z. B. über N2PDFAddContent, zur PDF-Datei hinzufügen.

3. Notes-Inhalte suchen

Da n2pdf keinen eigenen Mechanismus zur Suche der Daten für das PDF hat, ist dies Ihre Aufgabe in der Script-Programmierung. Mittels der "Standard"-Script-Programmierung müssen Sie die Dokumente oder Felder suchen, die Sie der PDF-Datei als Haupttext, Kopf- oder Fußzeile und als Variable oder Felder hinzufügen wollen. In der Regel ist dies eine Schleife (5) über verschiedene Notes-Dokumente, deren Inhalt oder einzelne Felder Sie dann in dem PDF darstellen wollen. Sie können dabei auch z. B. datenbankübergreifend oder sogar mit externen Datenquellen arbeiten. Die einzige Voraussetzung ist, dass Sie mittels Script-Befehlen die Daten auslesen können. Wenn Sie diese "Datenselektion" durchgeführt haben, bauen Sie an dieser Stelle im nächsten Schritt die entsprechenden n2pdf-Befehle ein und transferieren so die Daten in die PDF-Datei.

4. Inhalte dem PDF hinzufügen

Nachdem Sie im vorherigen Schritt die Notes-Inhalte gesucht haben, können Sie jetzt mittels der n2pdf-Befehle die Notes-Dokumente oder die einzelnen Felder dem PDF-Dokument hinzufügen. Sie können dabei unformatierte Felder (wie z. B. TEXT oder NUMBER) oder statische Texte in die PDF-Datei übertragen (6), aber auch die Übergabe von RichText-Feldern oder gesamter Dokumente ist an dieser Stelle möglich. Im ersten Schritt sollten Sie die Kopf- und Fußzeilen (6) (z. B. N2PDFAddContent) für die PDF-Datei definieren, danach die Variablen (7) (z. B. N2PDFAddVariable) und abschließend, z. B. in einer Schleife über alle Dokumente, den Haupttext (8) der PDF-Datei (z. B. N2PDFAddRTContent).

5. Erstellen der PDF-Datei

Der letzte Schritt ist die Erstellung der PDF-Datei (9), d. h. aus der im Speicher befindlichen PDF-Datei eine physikalische Datei zu erzeugen. In diesem Schritt führt n2pdf alle gesetzten Einstellungen durch, formatiert das PDF entsprechend Ihrer Angaben, wendet die Strukturen, wie z. B. Inhaltsverzeichnis, auf die PDF-Datei an und schreibt zuletzt die Datei vom Speicher in eine physikalische Datei. Bei dem Aufruf der Funktion N2PDFProcess müssen Sie dann den Dateinamen (10) angeben, unter dem die PDF-Datei erstellt werden soll. Damit ist die PDF-Erstellung abgeschlossen und Sie können die PDF-Datei, z. B. per E-Mail, versenden, mit dem Viewer anzeigen oder als neues Notes-Dokument ablegen. An dieser Stelle stehen Ihnen dann zur weiteren Verarbeitung alle Möglichkeiten von LotusScript zur Verfügung.

In dem nachfolgenden einfachen Script sehen Sie die zuvor beschriebenen Schritte, die zur Erstellung einer PDF-Datei notwendig sind. In dem Programm-Code finden Sie mit den roten Angaben, eingeschlossen in Klammern, den jeweiligen Bezug zu den einzelnen Schritten.

6. Skript

%INCLUDE "N2PDFDEF.SCR" ' (1)

Sub CreatePDF

Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim view As NotesView

Dim JobID As Long
Dim PDFFilesName As String
  
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
  
JobID = N2PDFInit ( 0 ) ' (2) 

If ( JobID >= 0 ) Then ' (3)

      Call N2PDFSetOption ( JobID, N2PDFOPTION_SYSTEM_LAUNCH_VIEWER, "1","") ' (4)
         
      Call N2PDFAddContent ( JobID, _ ' (6)
      N2PDFVALUE_CONTENT_HEADER, _
      N2PDFVALUE_HF_FIRST_PAGE, _
      "Plain text header" )
        
      Call N2PDFAddVariable ( JobID, 0, "CITY", "FULDA" ) ' (7)

      Set doc = collection.GetFirstDocument ' (5) 
         
      While ( Not ( doc Is Nothing ) ) ' (5)
            Call N2PDFAddRTContent ( JobID, _ ' (8)
            N2PDFVALUE_CONTENT_BODY, _
            N2PDFVALUE_PAGEBREAK_AFTER,_
            db.Server, _
            db.FilePath, _
            doc.UniversalID, _
            "Lettercontent")

            Set doc = collection.GetNextDocument ( doc ) ' (5)
      Wend ' (5)
         
      PDFFilesName = "C:\Temp\MyPdf.PDF" ' (10)
         
      Call N2PDFProcess ( JobID, PDFFilesName, 0 ) ' (9)

End if

End Sub