Technisches Grundprinzip
Dieses Dokument beschreibt das grundlegende technische Prinzip von n2pdf Client bzw. n2pdf Server Agent. Beide Varianten basieren auf einer Integration durch Programmierung. Das technische Grundprinzip von n2pdf Archive dagegen basiert auf der Konfiguration von Notes‑Dokumenten und arbeitet ohne Programmierung.
Für n2pdf Client und n2pdf Server Agent gilt eine Grundstruktur, die bei jeder PDF-Erstellung eingehalten wird. Sie betrifft sowohl die Einbindung über LotusScript als auch über Java. Im Originaltext werden Klammern mit Zahlen verwendet, um die Schritte mit dem zugehörigen LotusScript‑Beispiel zu verknüpfen.
Ablauf in der Praxis
Nach der Initialisierung der n2pdf‑Umgebung werden im nächsten Schritt alle Einstellungen über N2PDFSetOption und N2PDFSetGlobalOption vorgenommen. Das können Sicherheitseinstellungen, das automatische Starten eines Viewers oder die Definition eines Inhaltsverzeichnisses sein. Weil einige Optionen unmittelbaren Einfluss auf die Inhalte der PDF‑Datei haben, sollten alle Einstellungen gesetzt sein, bevor der erste Inhalt – beispielsweise über N2PDFAddContent – hinzugefügt wird.
Anschließend werden Notes‑Inhalte gesucht und gesammelt, typischerweise über eine Dokumentkollektion oder eine View, bevor die Inhalte iterativ an den Job übergeben werden. Abschließend wird der Output‑Pfad festgelegt und die PDF‑Erzeugung mit N2PDFProcess ausgeführt.
LotusScript‑Beispiel (Auszug)
%INCLUDE "N2PDFDEF.SCR"
Sub CreatePDF
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim JobID As Long
Dim PDFFilesName As String
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
JobID = N2PDFInit(0)
If (JobID >= 0) Then
Call N2PDFSetOption(JobID, N2PDFOPTION_SYSTEM_LAUNCH_VIEWER, "1", "")
While (Not (doc Is Nothing))
Call N2PDFAddRTContent(JobID, _
N2PDFVALUE_CONTENT_BODY, _
N2PDFVALUE_PAGEBREAK_AFTER, _
db.Server, _
db.FilePath, _
doc.UniversalID, _
"Lettercontent")
Set doc = collection.GetNextDocument(doc)
Wend
PDFFilesName = "C:\Temp\MyPdf.PDF"
Call N2PDFProcess(JobID, PDFFilesName, 0)
End If
End Sub