Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Automatische PDF-Erstellung und Mail-Versand aus einem Verzeichnis

Frage Microsoft

Mitglied: LKaderavek

LKaderavek (Level 2) - Jetzt verbinden

22.07.2011 um 15:49 Uhr, 9023 Aufrufe, 8 Kommentare

TIFF-Dateien, die in ein Verzeichnis kommen automatisch in PDF umwandeln und per Mail versenden

Hallo,

ich möchte von meinem SBS 2003 den FAX-Dienst ein bisschen erweitern.

Folgende Situation, bei FAX-Empfang wird eine TIFF-Datei erstellt und in einem FAX-Verzeichnis abgelegt.

Diese Datei soll voll automatisch in PDF umgewandelt und per Mail versendet werden.

Bei FreePDF gibt es die Funktion per Mail versenden, kann man das Programm auch über eine Command-Shell bedienen?

Bitte um Info.

Danke

Ciao

Lukas
Mitglied: Friemler
22.07.2011 um 17:17 Uhr
Hallo Lukas,

Betr. PDF erstellen über Batchscript: Schau mal hier nach.

Um das Verzeichnis, in dem die TIFF-Dateien abgelegt werden, auf neu erstellte Dateien zu überwachen, hätte ich auch noch eine Script-Lösung, per WMI Permanent Event Consumer (resourcenschonend). Es würde dann jedesmal ein Script gestartet (zuerst z.B. eine angepasste Version des obigen Scripts, dann weiterer Code, der die PDF-Datei per EMail verschickt). Das Monitor- und EMail-Script ist zwar schon quasi fertig (es müssen im Monitor nur 2 Zeilen VBScript angepasst werden, im EMail-Part etwas mehr), es ist aber etwas Erklärungsaufwand nötig, den ich nur betreiben will, wenn es sein muss. Außerdem: Wie sind Deine Scriptingfähigkeiten? Läuft ein Exchange Server auf dem System?

Gruß
Friemler
Bitte warten ..
Mitglied: LKaderavek
22.07.2011 um 17:31 Uhr
Hallo,

es läuft ein Exchange 2003.

Ich kenn mich mit Batch und VB-Script recht gut aus.

Danke für die Hilfe.
Bitte warten ..
Mitglied: Friemler
22.07.2011 um 18:29 Uhr
Hallo Lukas,

Ein Permanent Event Consumer muss einmalig über ein VBScript installiert werden.

Zunächst wird ein EventConsumer erstellt, dann ein Filter und schließlich ein Binding zwischen diesen beiden.

WMI stellt mehrere vordefinierte EventConsumer zur Verfügung, der praktischste ist der CommandLineEventConsumer. Wenn das im Filter angegebene Ereignis eintritt (hier: In einem bestimmten Verzeichnis wird eine neue Datei angelegt), kann der CommandLineEventConsumer ein Programm starten.

Im folgenden Script habe ich dafür CSCRIPT.exe, also den Windows Scripting Host für die Konsole genommen. Dem aufgerufenen Programm können Parameter übergeben werden. Das sind hier der Name eines VBScript, das sich im gleichen Verzeichnis wie der Installer befinden muss und auch dort verbleiben muss, sowie die Daten, die sich aus den WMI-Eventdaten gewinnen lassen (der vollständige Pfad zur Datei).

Die gestarteten Programme werden unter dem SYSTEM-Konto in Session 0 ausgeführt und können nicht interaktiv sein. Wenn z.B. CMD.exe mit einem auszuführenden Batchscript als Parameter gestartet wird, funktionieren deshalb dort Ein-/Ausgabeumleitungen nicht, da dem CMD-Prozess keine Konsole zugeordnet wird.

Hier also erstmal der Installer für den Permanent EventConsumer. Das Script muss mit Adminrechten ausgeführt werden, aber wie gesagt nur einmalig, auch nach einem Reboot bleibt die Registrierung bei WMI erhalten. Das Script kann danach gelöscht werden.

Es müssen nur die Zeilen 13 bis 15 angepasst werden:
  • strEventDescription: Unter diesem Bezeichner wird der Event Consumer in WMI registriert. Der Name des Scripts, das beim Eintreten des Events gestartet wird, wird ebenfalls aus diesem Wert erzeugt und muss für diesen Beispielfall NewTextfileCreationEventHandler.vbs heissen und sich zum Zeitpunkt der Installation des Event Consumers im gleichen Verzeichnis wie das Installscript befinden und später auch dort bleiben.
  • strMonitorFileSpec: Gib das zu überwachende Verzeichnis und den Dateityp an, hier sind es also TIFF-Dateien im Verzeichnis E:\Test.
  • strPollingIntervall: Gibt die Zeit in Sekunden an, nach der WMI prüfen soll, ob eine neue Datei im Verzeichnis angelegt wurde. Selbst ein Wert, wie hier, von einer Sekunde, erzeugt nur eine geringe Prozessorlast.

01.
' =========================================== 
02.
' Run this script with administrative rights! 
03.
' =========================================== 
04.
 
05.
 
06.
 
07.
'/////////////////////////////// Configure script's job /////////////////////////////// 
08.
 
09.
'******************** Customize according to your specific needs ********************** 
10.
 
11.
'------------------ Set event description and job related variables ------------------- 
12.
 
13.
strEventDescription  = "New Textfile Creation" 
14.
strMonitorFileSpec   = "E:\Test\*.TIFF" 
15.
strPollingIntervall  = "1" 
16.
 
17.
 
18.
 
19.
'---------------- Prepare Monitor Filespec for WMI Event Filter query ----------------- 
20.
 
21.
Set FSO              = CreateObject("Scripting.FileSystemObject") 
22.
 
23.
strDrive             = FSO.GetDriveName(strMonitorFileSpec) 
24.
 
25.
strFileName          = FSO.GetFileName(strMonitorFileSpec) 
26.
intPathBegin         = Len(strDrive) + 1 
27.
intPathLen           = Len(strMonitorFileSpec) - Len(StrDrive) - Len(strFileName) 
28.
strPath              = Replace(Mid(strMonitorFileSpec, intPathBegin, intPathLen), "\", "\\") 
29.
 
30.
strExtension         = FSO.GetExtensionName(strMonitorFileSpec) 
31.
 
32.
Set FSO              = Nothing 
33.
 
34.
 
35.
 
36.
'----------------------------- Set WMI Event Filter query ----------------------------- 
37.
 
38.
strEventFilterQuery  = "SELECT * FROM __InstanceCreationEvent" _ 
39.
                     & " WITHIN " & strPollingIntervall _ 
40.
                     & " WHERE TargetInstance ISA 'CIM_DataFile'" _ 
41.
                     & " AND TargetInstance.Drive='" & strDrive & "'" _ 
42.
                     & " AND TargetInstance.Path='" & strPath & "'" _ 
43.
                     & " AND TargetInstance.Extension='" & strExtension & "'" 
44.
 
45.
 
46.
 
47.
'-------------- Set WMI Namespace where the monitored event will occure --------------- 
48.
 
49.
strEventNamespace    = "root\Cimv2" 
50.
 
51.
 
52.
 
53.
'----------- Set parameters which should be passed to Event Handler script ------------ 
54.
 
55.
strEventHandlerParam = """" _ 
56.
                     & "%TargetInstance.Drive%" _ 
57.
                     & "%TargetInstance.Path%" _ 
58.
                     & "%TargetInstance.FileName%" _ 
59.
                     & "." _ 
60.
                     & "%TargetInstance.Extension%" _ 
61.
                     & """" 
62.
 
63.
'************************************************************************************** 
64.
 
65.
 
66.
 
67.
 
68.
 
69.
'//////////////////////////////// Set script variables //////////////////////////////// 
70.
 
71.
'- Set Event Handler path, quote it and prepare it and its working directory for WMI -- 
72.
 
73.
Set FSO           = CreateObject("Scripting.FileSystemObject") 
74.
 
75.
strEventHandlerWD = Replace(FSO.GetParentFolderName(WScript.ScriptFullName), "\", "\\") 
76.
 
77.
strEventHandler   = Replace(strEventDescription, " ", "") & "EventHandler.vbs" 
78.
strEventHandler   = """" & strEventHandlerWD & "\\" & strEventHandler & """" 
79.
 
80.
Set FSO           = Nothing 
81.
 
82.
 
83.
 
84.
'----------------------- Test for existing Event Handler script ----------------------- 
85.
 
86.
Set FSO = CreateObject("Scripting.FileSystemObject") 
87.
 
88.
If Not FSO.FileExists(Replace(Replace(strEventHandler, "\\", "\"), """", "")) Then 
89.
  MsgBox "The Event Handler script " & vbCRLF _ 
90.
          & Replace(strEventHandler, "\\", "\") & vbCRLF _ 
91.
          & "does not exist. Please create it.", _ 
92.
         vbExclamation, _ 
93.
         "Missing Event Handler script" 
94.
End If 
95.
 
96.
Set FSO = Nothing 
97.
 
98.
 
99.
 
100.
'-------------------------- Build parameters for CScript.exe -------------------------- 
101.
 
102.
strCScriptParam = strEventHandler & " " & strEventHandlerParam 
103.
 
104.
 
105.
 
106.
'---------------- Get path of Windows Directory and prepare it for WMI ---------------- 
107.
 
108.
Set WshShell    = WScript.CreateObject("WScript.Shell") 
109.
 
110.
strWinDir       = Replace(WshShell.ExpandEnvironmentStrings("%SystemRoot%"), "\", "\\") 
111.
 
112.
Set WshShell    = Nothing 
113.
  
114.
 
115.
 
116.
'---------------------- Set path of CScript.exe prepared for WMI ---------------------- 
117.
 
118.
setCScriptPath  = strWinDir & "\\System32\\cscript.exe" 
119.
 
120.
 
121.
 
122.
 
123.
 
124.
'////////////////////////// Install permanent Event Consumer ////////////////////////// 
125.
 
126.
'------- Get WMI Scripting API object (SWbemServices), Namespace: Subscription -------- 
127.
 
128.
strComputer                          = "." 
129.
Set objWMIService                    = GetObject("winmgmts:" _ 
130.
                                                 & "{impersonationLevel=impersonate}!" _ 
131.
                                                 & "\\" & strComputer & "\root\Subscription") 
132.
 
133.
 
134.
 
135.
'------------------------------ Create the Event Filter ------------------------------- 
136.
 
137.
Set objFilterClass                   = objWMIService.Get("__EventFilter") 
138.
Set objFilter                        = objFilterClass.SpawnInstance_() 
139.
 
140.
objFilter.Name                       = strEventDescription & " Event Filter" 
141.
objFilter.EventNamespace             = strEventNamespace 
142.
objFilter.QueryLanguage              = "WQL" 
143.
objFilter.Query                      = strEventFilterQuery 
144.
 
145.
Set EventFilterPath                  = objFilter.Put_() 
146.
 
147.
 
148.
 
149.
'----------------------- Create the Commandline Event Consumer ------------------------ 
150.
 
151.
Set objEventConsumerClass            = objWMIService.Get("CommandLineEventConsumer") 
152.
Set objEventConsumer                 = objEventConsumerClass.SpawnInstance_() 
153.
 
154.
objEventConsumer.Name                = strEventDescription & " Commandline Event Consumer" 
155.
objEventConsumer.CommandLineTemplate = setCScriptPath & " " & strCScriptParam 
156.
objEventConsumer.ExecutablePath      = setCScriptPath 
157.
objEventConsumer.WorkingDirectory    = strEventHandlerWD 
158.
objEventConsumer.ShowWindowCommand   = 0 
159.
 
160.
Set CommandlineEventConsumerPath     = objEventConsumer.Put_() 
161.
 
162.
 
163.
 
164.
'------------------ Bind Event Filter to Commandline Event Consumer ------------------- 
165.
 
166.
Set objBindingClass                  = objWMIService.Get("__FilterToConsumerBinding") 
167.
Set objBinding                       = objBindingClass.SpawnInstance_() 
168.
 
169.
objBinding.Filter                    = EventFilterPath 
170.
objBinding.Consumer                  = CommandlineEventConsumerPath 
171.
 
172.
objBinding.Put_()

Hier jetzt der Eventhandler, das Script, das EMails verschicken kann. Es wird das Colaboration Data Object (CDO) verwendet, deshalb meine Frage nach Exchange. Mit Exchange 2000/2003 gibt es keine Probleme, bei 2007 muss es erst nachinstalliert werden, ebenfalls bei Exchange 2010. Dort gibt es aber noch mehr zu beachten bzgl. der verwendeten CSCRIPT.exe auf 64Bit-Systemen. Eine Übersicht liefert diese Seite.

Es kann eingestellt werden, ob über SMTP oder SMTP over SSL gesendet wird, je nach Portwahl in Zeile 17. Wenn nicht die Standardports benutzt werden, muss auch der SELECT-CASE-Block ab Zeile 72 angepasst werden.

Dieses Script muss so benannt werden, wie oben bei der Erklärung von strEventDescription beschrieben.

Da das Script unter dem SYSTEM-Konto ausgeführt wird, sollten entsprechende NTFS-Zugriffsrechte betreffend Zugriff und Ändern gesetzt werden, um einen Missbrauch zu verhindern.

01.
Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory. 
02.
Const cdoSendUsingPort   = 2 'Send the message using the network (SMTP over the network). 
03.
 
04.
Const cdoAnonymous       = 0 'Do not authenticate 
05.
Const cdoBasic           = 1 'basic (clear-text) authentication 
06.
Const cdoNTLM            = 2 'NTLM 
07.
 
08.
 
09.
Set listArgs = WScript.Arguments 
10.
 
11.
If listArgs.Count = 1 Then 
12.
  strSenderName     = "Your Name" 
13.
  strSenderEMail    = "YourEMailAddress@Provider.com" 
14.
  strRecipientEMail = "RecipientEMailAddress@Provider.com" 
15.
 
16.
  strSMTPServer     = "Your.SMTP.Server" 
17.
  intSMTPPort       = 465 
18.
  strSMTPUserName   = "YourSMTPUserName" 
19.
  strSMTPPassWord   = "YourSMTPPassword" 
20.
 
21.
22.
23.
  ' Hier Code zum Erzeugen der PDF-Datei einfügen. 
24.
  ' Der Pfad+Name der neu erstellten TIFF-Datei steht in listArgs(0) 
25.
26.
27.
   
28.
  strSubject        = "Neue Datei" 
29.
  strMailBody       = "Nachrichtentext" 
30.
  strAttachmentFile = "Laufwerk:\Pfad\Datei.pdf"  'Hier den Pfad zur erzeugten 
31.
                                                  'PDF-Datei einfügen 
32.
 
33.
 
34.
  Set objMessage      = CreateObject("CDO.Message") 
35.
 
36.
  objMessage.Subject  = strSubject 
37.
  objMessage.From     = """" & strSenderName & """ <" & strSenderEMail & ">" 
38.
  objMessage.To       = strRecipientEMail 
39.
  objMessage.TextBody = strMailBody 
40.
 
41.
  If strAttachmentFile <> "" Then 
42.
    objMessage.AddAttachment strAttachmentFile 
43.
  End If 
44.
   
45.
 
46.
  '==This section provides the configuration information for the remote SMTP server. 
47.
 
48.
  objMessage.Configuration.Fields.Item _ 
49.
  ("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort 
50.
 
51.
  'Name or IP of Remote SMTP Server 
52.
  objMessage.Configuration.Fields.Item _ 
53.
  ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPServer 
54.
 
55.
  'Type of authentication, NONE, Basic (Base64 encoded), NTLM 
56.
  objMessage.Configuration.Fields.Item _ 
57.
  ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic 
58.
 
59.
  'Your UserID on the SMTP server 
60.
  objMessage.Configuration.Fields.Item _ 
61.
  ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strSMTPUserName 
62.
 
63.
  'Your password on the SMTP server 
64.
  objMessage.Configuration.Fields.Item _ 
65.
  ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strSMTPPassWord 
66.
 
67.
  'Server port (typically 25 or 465 (SMTP over SSL)) 
68.
  objMessage.Configuration.Fields.Item _ 
69.
  ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = intSMTPPort 
70.
 
71.
  'Use SSL for the connection (False or True) 
72.
  Select Case intSMTPPort 
73.
    Case 25 : 
74.
      objMessage.Configuration.Fields.Item _ 
75.
      ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 
76.
 
77.
    Case 465: 
78.
      objMessage.Configuration.Fields.Item _ 
79.
      ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
80.
       
81.
  End Select 
82.
 
83.
  'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server) 
84.
  objMessage.Configuration.Fields.Item _ 
85.
  ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
86.
 
87.
  objMessage.Configuration.Fields.Update 
88.
 
89.
  '==End remote SMTP server configuration section== 
90.
 
91.
 
92.
  objMessage.Send 
93.
 
94.
  Set objMessage = Nothing 
95.
End If 
96.
 
97.
Set listArgs = Nothing
Wie schon als Kommentar im Script erwähnt wird, fehlt hier noch der Code zur Erzeugung der PDF-Datei. Da Du schreibst, Du kennst Dich mit Batchscript und VBS gut aus, solltest Du es ja schaffen, das Batchscript aus meinem Link oben in VBS umzuschreiben.


Genauere Informationen im Zusammenhang mit Permanent Event Consumers finden sich auf folgenden Seiten:

http://msdn.microsoft.com/en-us/library/aa392395%28v=VS.85%29.aspx
http://blogs.technet.com/b/heyscriptingguy/archive/2010/12/06/learn-how ...
http://www.codeproject.com/KB/system/PermEvtSubscriptionMOF.aspx
http://msdn.microsoft.com/en-us/library/aa394649%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394639%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394647%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa387236%28VS.85%29.aspx
http://www.codeproject.com/KB/system/WQLByExample.aspx


Gruß
Friemler
Bitte warten ..
Mitglied: Friemler
24.07.2011 um 21:48 Uhr
Hallo Lukas,

zum konvertieren der TIFF-Dateien nach PDF kann IrfanView verwendet werden. Dabei gibt es allerdings einiges zu beachten:

Vorbereitungen
  • Das Installer-Script und das Eventhandler-Script z.B. in das Verzeichnis C:\Programme\Automatic-Fax2EMail (Windows XP/Server2003) bzw. C:\Program Files\Automatic-Fax2EMail (ab Vista) kopieren.
  • Von der Homepage von IrfanView die aktuelle Version 4.30 und die Plugins herunterladen.

Dann folgende Schritte ausführen:
  • IrfanView installieren. Während der Installation erscheint eine Abfrage, wo das INI-File des Programms abgespeichert werden soll. Bis XP/Server 2003 Irfan View folder auswählen, für Windowsversionen ab Vista User's Application Data folder (recommended for Vista/Windows 7) wählen.
  • Plugins installieren.
  • IrfanView starten.
  • Unter Menü Optionen -> Einstellungen... gewünschte Einstellungen vornehmen, z.b. Sprache auf Deutsch umstellen.
  • Jetzt irgendein Bild mit IrfanView öffnen.
  • Unter Menü Datei -> Speichern Unter... wählen.
  • Als Dateityp PDF auswählen. -> Es erscheint ein zusätzliches Optionsfenster für das PDF-Plugin.
  • In diesem Fenster den Radiobutton unter Registerkarte Allgemein -> Vorschau des PDFs während des Speicherns -> nicht notwendig (wähle Einstellungen jetzt) aktivieren. Wichtig!
  • Unter Registerkarte Layout -> Seitenformat das Seitenformat für die PDF-Datei einstellen, z.B. A4. Wichtig!
  • Seitenformat (Hoch, Quer) einstellen.
  • Unter Bildposition "Im Zentrum" wählen.
  • Unter Bildgröße "Optimal" auswählen. Wichtig! Dadurch wird das Bild unter Beibehaltung des Seitenverhältnisses auf die Größe des eingestellten Seitenformats skaliert.
  • Den Haken unter Registerkarte Sicherheit -> Sicherheit aktivieren löschen. Wichtig! Ansonsten wird auch bei Aufruf von IrfanView mit Parametern zum konvertieren von Dateien nach PDF ein Dialog zur Passworteingabe dargestellt, der aber bei Ausführung aus dem EventHandler-Script nicht sichtbar ist. -> Das Script bleibt hängen.
  • Das geladene Bild speichern, damit die Einstellungen aus dem PDF-Optionenfenster gespeichert werden. Danach kann IrfanView beendet werden.

Die folgenden Schritte müssen nur unter Windowsversionen ab Vista ausgeführt werden:
  • Über den Windows Explorer in folgendes Verzeichnis wechseln: C:\Users\Benutzer\AppData\Roaming\IrfanView
  • Die Datei i_view32.ini in das Verzeichnis kopieren, in das das Installer-Script und das Eventhandler-Script unter Vorbereitungen kopiert wurden. Da das Eventhandler-Script unter dem SYSTEM-Konto ausgeführt wird, muss ein separates INI-File dafür zur Verfügung stehen, damit IrfanView seine Einstellungen laden kann. Die im Benutzerprofil abgelegte INI-Datei wird nicht gefunden.
  • Folgenden Code in das Eventhandler-Script an der Stelle einfügen, an der die PDF-Datei erzeugt werden muss (siehe Kommentare dort).
01.
Set objFSO   = CreateObject("Scripting.FileSystemObject") 
02.
Set objShell = WScript.CreateObject("WScript.Shell") 
03.
strDestFile  = objFSO.BuildPath("E:\Fax2PDF", objFSO.GetBaseName(listArgs(0)) & ".pdf") 
04.
objShell.Run """%ProgramFiles%\IrfanView\i_view32.exe"" """ & listArgs(0) & """ /ini=""%ProgramFiles%\Automatic-Fax2EMail"" /convert=""" & strDestFile & """", 0, True 
05.
 
06.
strSubject        = "Neue Datei" 
07.
strMailBody       = "Nachrichtentext" 
08.
strAttachmentFile = strDestFile
Den Pfad beim Parameter /ini=... in Zeile 4 bitte anpassen. Hier das Verzeichnis einsetzen, in das die i_view32.ini kopiert wurde.

Unter XP/Server2003 folgende Codezeilen einfügen:
01.
Set objFSO   = CreateObject("Scripting.FileSystemObject") 
02.
Set objShell = WScript.CreateObject("WScript.Shell") 
03.
strDestFile  = objFSO.BuildPath("E:\Fax2PDF", objFSO.GetBaseName(listArgs(0)) & ".pdf") 
04.
objShell.Run """%ProgramFiles%\IrfanView\i_view32.exe"" """ & listArgs(0) & """  /convert=""" & strDestFile & """", 0, True 
05.
 
06.
strSubject        = "Neue Datei" 
07.
strMailBody       = "Nachrichtentext" 
08.
strAttachmentFile = strDestFile
In beiden Fällen den Pfad E:\Fax2PDF in Zeile 3 bitte anpassen. In diesem Verzeichnis werden die erzeugten PDF-Dateien abgelegt.

  • Nachdem im Eventhandler-Script noch die Daten zur EMail-Übermittlung eingetragen wurden (Sender, Empfänger, SMTP-Daten), das Script speichern.
  • Jetzt noch das Verzeichnis anlegen, in dem die PDF-Dateien abgelegt werden sollen.
  • Im Installer-Script den Wert der Variablen strMonitorFileSpec anpassen (das Verzeichnis eintragen, wo die TIFF-Dateien der Faxe abgelegt werden) und ebenfalls speichern.

Nachdem das Installer-Script ausgeführt wurde, wird die nächste TIFF-Datei, die im Fax-Verzeichnis neu angelegt wird, in eine PDF-Datei konvertiert und per EMail verschickt.

Wenn es erstmal nicht funktionieren sollte, kann man zum debuggen im Eventhandler-Script leider nur eine Textdatei erzeugen und die zu überprüfenden Werte hineinschreiben, da man bei der Ausführung des Eventhandlers kein Konsolenfenster zu sehen bekommt und auch keine Messagebox anzeigen kann.

Gruß
Friemler
Bitte warten ..
Mitglied: LKaderavek
25.07.2011 um 08:28 Uhr
Hallo Friemler!

Danke für deine Mühe, ich werde das ausprobieren und gebe dir Bescheid, wie und ob es funkioniert hat.

Ciao

Lukas
Bitte warten ..
Mitglied: Friemler
27.07.2011 um 13:12 Uhr
Komisch, 80-90% der Leute, die sowas schreiben, machen das dann nicht.
Bitte warten ..
Mitglied: Skyemugen
31.08.2011 um 13:45 Uhr
Zitat von Friemler:
Komisch, 80-90% der Leute, die sowas schreiben, machen das dann nicht.
Wahrscheinlich, weil gar nichts
funkioniert
hat aber funktioniert, da er aber nicht schrieb, dass er Bescheid gibt, ob es funktioniert hat, ist er im Recht
Bitte warten ..
Mitglied: LKaderavek
31.08.2011 um 13:50 Uhr
Hallo,

diese Lösung hat funktioniert...

War nur zu zeitaufwändig und da es ein SBS ist, wurde der FAX-Service genutzt und die FAX kommen jetzt im TIF-Format.

Habe bloß vergessen, mich zu melden...Sommer ist Urlaubszeit und ich hab's verschwitzt!

Danke nochmals.

Ciao

Lukas
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Exchange Server
Mail Versand zu T-Online nicht möglich (13)

Frage von HeinrichM zum Thema Exchange Server ...

Exchange Server
gelöst E-Mail Versand an Gmail Adressen nicht mehr möglich (13)

Frage von Zippo97 zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...