Beispiel-Programm

 

Das nachfolgende Script soll die Benutzung des PDF Exportfilters unter NotesToPaper bzw. Lotus Script verdeutlichen. Das Script ist nicht vollständig und daher nicht komplett lauffähig. Ein komplettes Script finden Sie in der Beispiel-Anwendung NTPPDF.NSF, die während der Installation in das Data-Verzeichnis des Clients kopiert wird und als Icon in der Programmgruppe vorhanden ist. In der Datenbank ist eine Script-Bibliothek "ExportAsPDF", die die komplette Routine enthält.

 

Erklärung: Alle Kommentare stehen in Kursiv und alle wichtigen Befehle innerhalb des Scriptes sind fett hervorgehoben.

 

Am Anfang wird der Report aktiviert ...

 

ReportID = NTPInitFromDatabase ( "CONLIST", ServerName, DatabaseName, NTPPROCESS_SHOWMESSAGES )

 

If ReportID >= 0 Then                      

 

Wichtig: Nach dem Aktivieren des Reports, muss verhindert werden, dass der Report nach der Ausführung durch NTPProcessReportExt wieder gelöscht wird!!!

Status = NTPSetOption ( ReportID, NTPOPTION_KEEPREPORT, 1 )

 

Keine Vorschau anzeigen

Status = NTPSetOption ( ReportID, NTPOPTION_SHOWPREVIEWWINDOW, 0 )

 

Alle Dokumente in der Datenbank durchlaufen        

Set doc = view.GetFirstDocument

 

While ( Not ( doc Is Nothing ) )

 

Alle Felder an den Report übergeben (pro Dokument)

Call NTPSendFieldByName ( ReportID, "COMPANYNAME", Cstr(doc.CompanyName(0) ) )

….

….

                 

Abschluss eines Datensatzes für den Report

Status = NTPEndDocument ( ReportID )

 

Set doc = view.GetNextDocument ( doc )

 

Wend

 

Datenübergabe beenden        

Status = NTPEnd ( ReportID )

 

Wichtig: Die Ausführung bzw. Ausgabe des Reports muss  auf die Vorschau erfolgen!

Status = NTPProcessReportExt ( ReportID, _

         NTPPROCESS_PRINTTOSCREEN, _

         NTPPROCESS_HIDEPRINTERDIALOG, _

         NTPPROCESS_SHOWSTATUSBAR, _

         NTPPROCESS_SHOWMESSAGES, 0 )

         

Report erstellt?

If ( Status = 0 ) Then

 

Nach erfolgreicher Erstellung des Reports, kann der erstellte Reportname ausgelesen werden. Dieses sollte einerseits aus Sicherheitsgründen gemacht werden und andererseits wird der Name gebraucht, um später die Vorschau-Datei löschen zu können.

Bei dem Export des Reports wird später nicht der Dateiname, sondern die ReportID übergeben.

 

StrBuffer = Space(254)

 

Status = NTPGetReportFileName ( ReportID, StrBuffer )

StrBuffer = Trim ( StrBuffer )

                 

Haben wir eine gültige Vorschau-Datei?

If ( StrBuffer <> "" ) Then

 

Über die Funktion NTPCreateTempFile kann eine Datei für die Erstellung des PDF Exports erstellt werden. Die erstellte Datei muss die Endung PDF haben.

tmpFileName = Trim$ ( NTPCreateTempFile ( "PDF" ) )

 

Temp. Datei erstellt?

If ( tmpFileName <> "" ) Then

                                 

Optionen für den PDF Export definieren

PDFOptions = _

NTPEXPORT_PDF_FONT_USE_TRUETYPE + _

NTPEXPORT_PDF_COMPRESSION + _

NTPEXPORT_PDF_LAUNCH_APPLICATION

 

Über die Funktion NTPExport wird dann der Exportfilter aufgerufen und

die PDF Datei erstellt.

Status = NTPExportReport ( ReportID, 0, 6, tmpFileName, 1, 1, PDFOptions, "", "","" )

 

If ( Status <> 0 ) Then

Messagebox ( "NotesToPaper Error: " + NTPGetErrorText ( Status ) )

Else

Messagebox ( "The report was created as a PDF file." & Chr(13) & Chr (10) & "If the PDF viewer does not start automatic, the PDF can be viewed by opening the following file: " & tmpFileName )

End If

                                 

End If

 

Am Ende des Exports muss die erstellte Vorschau-Datei gelöscht werden! Normalerweise wird dieses automatisch von NotesToPaper® gemacht, da dieses allerdings zuvor im Script abgestellt wurde, muss es hier manuell gemacht werden.

 

Kill ( StrBuffer )

End If

                 

End If

         

End If