Der PDF Drucker kann nach dem erstellten einer PDF-Datei so eingerichtet werden das er diese PDF Datei automatisch mit Outlook, einem Exchange Server oder über einen IMAP Server per Mail versendet. Wie das funktioniert, wollen wir ihnen hier zeigen. Wir nutzen dafür zum einen den eingebauten VBScript Event Handler unseres PDF Druckers und die MAPI Api um Outlook anzusprechen. Exemplarisch kann man aber auch, wie erwähnt durch wenige Zeilen Code anzupassen, auch einen Exchange Server oder auch einen IMAP Server (siehe Downloadbeispiel ganz unten) ansprechen! Das gezeigte Beispiel soll sie unterstützen, diese Automation zu realisieren.

Bitte beachten sie das dieses Beispiel zwingend eine Lizenzierung der Professional Edition, also eine license.xml Datei Professional voraussetzt, da der Event Handler erst ab der Professional Edition verwendbar ist.

In unserem Beispiel konfigurieren wir im Optionen Dialog Fenster unseren PDF Drucker im Tab/Reiter "E-Mail" vor, und geben dem PDF Drucker fest bereits die Mailadresse des Empfängers, Betreff und Bodytext mit. Für Umbrüche im Bodytext nutzen wir HTML Code und das bekannte <br> Tag. Statt diese Informationen fest vorzugeben, könnte man sie auch via VBScript und LDAP aus dem Active Directory auslesen. Auch das ist mit wenigen Zeilen Code möglich. Im Grunde kann man jede Datenquelle anzapfen und diese dann im VBScript Coding, welches im Nachfolgenden noch aufgeführt ist, in den Prozess einbinden und damit noch flexibler agieren. Für unser Beispiel beschränken wir uns aber erst einmal auf eine fixe Konfiguration die im PDF Drucker hinterlegt ist.

Fixe Konfiguration Mailversand im Optionen Dialog des PDF Druckers
Abbildung: Fixe Mail Konfiguration von Empfänger, Betreff und Text.

Als nächstes kommen wir zum Eventhandler des PDF Druckers. Diesen können wir mittels eines kleinen Macro Scripts in VBScript anzapfen. Das Macro legen wir in den Macros Ordner des PDF Druckers ab. Dieser befindet sich immer im Installationspfad des PDF Druckers. Also zumeist unter:

C:\Programme\7-PDF\PDF Printer\Macros


Macros Verzeichnis des PDF Druckers zur Ansprache des Eventhandlers
Abbildung: Den VBScript Code speichern wir im Macros Ordner ab als mapi.vbs

Kommen wir zum eigentlichen Code unseres Beispiels den wir wie oben im Screenshot gezeigt im Verzeichnis Macros in der VBS Datei mapi.vbs abgespeichert haben.

Dim global_success

Sub OnSuccess()
	global_success = true
End Sub

Sub OnAfterPrint()
		
	If global_success Then
		
		Rem -- Get the file name from the command line
		fn = Context("OutputFileName")

		Rem -- Get access to the Outlook application
		Set ol = CreateObject("Outlook.Application")
		Set ns = ol.getNamespace("MAPI")

		Rem -- Create the new mail
		Set newMail = ol.CreateItem(olMailItem)

		Rem -- Build eMail and attach the pdf file
		newMail.To = Context("Config")("emailto")
		newMail.Subject = Context("OutputFileName") + " " + Context("Config")("emailsubject")
		newMail.HTMLBody = Context("Config")("emailbody")
		newMail.Attachments.Add fn

		Rem -- Display the new message
		newMail.Display
		
		Rem --  Del PDF
		Rem -- Set objFSO = CreateObject("Scripting.FileSystemObject")
		Rem -- objFSO.DeleteFile(Context("OutputFileName"))
		
	Else
		
		MsgBox "An error has occurred. Please try again!"
		
	End If

End Sub

Was macht das Script? Im Coding sehen wir zwei Events des PDF Druckers, OnSuccess() und OnAfterPrint(). Bei erfolgreicher PDF Erzeugung wird in OnSuccess() eine globale Variable global_success auf TRUE gesetzt.

In OnAfterPrint() wird darauf reagiert und im Erfolgsfalle die MAPI von Outlook angesprochen. Hier wird aus der Konfiguration des PDF Druckers der fixe Mailempfänger, Betreff und Bodytext ermittelt und damit die MAPI von Outlook befüllt. Als Attachment wird das File-Handle fn auf die zuvor vom PDF Drucker erzeugte PDF Datei gesetzt und diese an die eMail angefügt. Zum Schluss wird die eMail automatisch in Outlook aufgerufen. Statt newMail.Display hätte man mit newMail.Send den automatischen Versand durchführen können. Die auskommentierten unteren Zeilen VBScript Code würden die zuvor vom PDF Drucker erzeugte PDF Datei löschen.

Wie bereits erwähnt, soll das oben gezeigte Beispiel nur ein Einstieg für sie bieten und die Möglichkeiten unseres PDF Druckers verdeutlichen. Mit ein wenig Codezeilen kann man den PDF Drucker höchst effektiv nutzen und viele Prozesse Rund um das Thema PDF Erzeugung automatisieren. Und man benötigt keine weiteren Zusatztools sondern ausschließlich unseren PDF Drucker.

Beispiel Dateidownload

Sie können den Beispielcode (mapi-outlook.zip) hier herunterladen. Desweiteren haben wir hier noch ein Beispiel (send-mail-via-googlemail.vbs.zip) zum Download bereitgestellt, das zeigt wie man statt mittels Outlook einfach direkt den IMAP Server von Google Mail zum Versand erzeugter PDF Dateien verwendet. Stellen sie sicher das sie, die für sie passende VBS Datei, in den Macros Ordner des PDF Druckers kopieren wie oben gezeigt!

LiveZilla Live Chat Software
Top