FB FaxPDF-per-Email und über die PDF (FTP) Drucken

tomas65

Neuer User
Mitglied seit
22 Aug 2008
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
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:
  • 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
- compiliertes Script als Service starten AppToService (Freeware bis V2.2) - siehe Anhang
"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

  • apptoservice.zip
    23.8 KB · Aufrufe: 8
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.