Nachtrag zur Diskussion "Faxe an Netzwerkdrucker senden" http://www.ip-phone-forum.de/showthread.php?t=166558
Aufgabenstellung:
Es sollen die Faxe zusätzlich auf einem Drucker ausgegeben werden.
Der Netzwerkdrucker versteht kein Postscript.
Es steht ein Windows-PC zur Verfügung.
verworfene Ansätze
- Crontab auf Fritzbox für pdftops etc.
- Druck der PDF über das Mailsystem (Druck der Email-Anlage)
Lösung:
- Faxempfang mit der Fritz!Box eingerichtet
in der FB aktiviert: [x] Faxe auf dem USB-Speicher ablegen
- ein Windows-Rechner im Netzwerk lädt über FTP die PDF Dateien vom USB Stick der Fritzbox und druckt sie auf dem Standarddrucker aus
- Script läuft als Windows-Dienst im Hintergrund
- der Druck erfolgt natürlich nur, wenn der Rechner an ist (bzw. Server im Bürobetrieb)
verwendete Software (alle kostenlos ohne Nagscreen etc)
- WinSCP V4.1.6 (FTP Zugriff)
download http://www.heise.de/software/download/foxit_reader/24536
- FoxIt Reader V2.2 (verkleinert freundlicherweise die PDF-Seiten auf A4)
download http://portableapps.com/de/apps/internet/winscp_portable
- AutoIt (das .au3 Script lässt sich zur exe compilieren)
download http://www.heise.de/software/download/autoit/9576
Anleitung:
- Druckertreiber installieren
- AutoIT ggf. auf Zweitrechner installieren
- das Script FTP+FoxIt.au3 nach FTP+FoxIt.exe compilieren
- in C:\fax\bin ablegen:
"AppToService.exe /Install C:\fax\bin\FTP+FoxIt.exe"
(alternativ mit srvany.exe ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/srvany_x86.exe)
- in der Systemsteuerung den Dienst auf Autostart einstellen
fertig...
verwendete Ordnerstruktur
C:\fax
C:\fax\bin
C:\fax\gedruckteFaxe
ftpscript.txt
FTP+FoxIt.au3
Aufgabenstellung:
Es sollen die Faxe zusätzlich auf einem Drucker ausgegeben werden.
Der Netzwerkdrucker versteht kein Postscript.
Es steht ein Windows-PC zur Verfügung.
verworfene Ansätze
- Crontab auf Fritzbox für pdftops etc.
- Druck der PDF über das Mailsystem (Druck der Email-Anlage)
Lösung:
- Faxempfang mit der Fritz!Box eingerichtet
in der FB aktiviert: [x] Faxe auf dem USB-Speicher ablegen
- ein Windows-Rechner im Netzwerk lädt über FTP die PDF Dateien vom USB Stick der Fritzbox und druckt sie auf dem Standarddrucker aus
- Script läuft als Windows-Dienst im Hintergrund
- der Druck erfolgt natürlich nur, wenn der Rechner an ist (bzw. Server im Bürobetrieb)
verwendete Software (alle kostenlos ohne Nagscreen etc)
- WinSCP V4.1.6 (FTP Zugriff)
download http://www.heise.de/software/download/foxit_reader/24536
- FoxIt Reader V2.2 (verkleinert freundlicherweise die PDF-Seiten auf A4)
download http://portableapps.com/de/apps/internet/winscp_portable
- AutoIt (das .au3 Script lässt sich zur exe compilieren)
download http://www.heise.de/software/download/autoit/9576
Anleitung:
- Druckertreiber installieren
- AutoIT ggf. auf Zweitrechner installieren
- das Script FTP+FoxIt.au3 nach FTP+FoxIt.exe compilieren
- in C:\fax\bin ablegen:
- die Datei "FoxIt Reader.exe"
- die Datei winscp.exe
- die FTP script für WinSCP ftpscript.txt
- das Script FTP+FoxIt.au3 oder die compilierte Fassung FTP+FoxIt.exe
"AppToService.exe /Install C:\fax\bin\FTP+FoxIt.exe"
(alternativ mit srvany.exe ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/srvany_x86.exe)
- in der Systemsteuerung den Dienst auf Autostart einstellen
fertig...
verwendete Ordnerstruktur
C:\fax
C:\fax\bin
C:\fax\gedruckteFaxe
ftpscript.txt
Code:
# Automatically answer all prompts negatively not to stall the script on errors
option batch on
# Disable overwrite confirmations that conflict with the previous
option confirm off
# Connect using a password
# open user:[email protected]
# Connect
open ftp://user:[email protected]
# Change remote directory
cd FlashDisk-Partition-0-1/telefax
# Force binary mode transfer
option transfer binary
# Download file to the local directory
get *.pdf c:\fax\ -delete
# Disconnect
close
# Exit WinSCP
exit
FTP+FoxIt.au3
Code:
;#NoTrayIcon
;Script lädt von der Fritz!Box die Faxe als PDF_Dokumente herunter und druckt sie auf den Standarddrucker aus
;Pfad zu den Programmen "winscp.exe" und "Foxit Reader.exe" sowie zu "ftpscript.txt"
$program = "C:\fax\bin"
; Pfad, der auf neue PDF-Dateien überwacht werden soll
$source = "c:\fax"
; Pfad, in den die Dateien nach dem Drucken verschoben werden sollen
$dest = "c:\fax\gedruckteFaxe"
; Dauer des Prüfintervalls in Millisekunden (10 Sek = 10000)
$ftp_interval = 30000
; TimeOut für PDF drucken in Millisekunden (10 Sek = 10000)
$print_timeout = 15000
While 1
;WinSCP holt per Script über FTP die PDF-Dateien und löscht Sie auf der Fritzbox, HIDE versteckt DOS-Box
RunWait('"' & $program & '\winscp.exe" /console /script=' & $program & '\ftpscript.txt', "" , @SW_HIDE )
$file = FileFindFirstFile ($source & "\*.pdf")
If $file <> -1 then Print()
FileClose($file)
Sleep($ftp_interval)
Wend
Func Print()
While 1
$pdffile = FileFindNextFile($file)
If @error then ExitLoop
Run('"' & $program & '\Foxit Reader.exe" -t "' & $source & '\' & $pdffile & '"')
Sleep($print_timeout) ;Abwarten ob Druck fehlerfrei erfolgte
$PID = ProcessExists("Foxit Reader.exe") ; PID = 0 if the process isn't found.
If $PID Then ProcessClose($PID) ;kill Foxit Reader Fehlermeldung etc.
FileMove($source & '\' & $pdffile , $dest, 1) ;bearbeitete PDF verschieben
Wend
EndFunc
Anhänge
Zuletzt bearbeitet: