When the solution matters

Registrieren Einstieg Dokumentation Code Archiv Mail-Archiv Support Programme

Fax Integration mit 4D

 

Inhaltsverzeichnis

Fax Integration mit 4D - cross-plattform.

Sowohl Mac OS X (10.3 und neuer) wie Windows XP bringen Fax-Treiber im Betriebssystem mit. Leider sind diese nicht einfach zu integrieren, da man nicht vor dem Drucken einfach die Ziel-Faxnummer automatisiert übermitteln kann, der Anwender muss diese vor jedem Druckvorgang manuell eingeben.

Es ist jedoch möglich, diesen Vorgang zu automatisieren. Unter Mac OS geht dies mittels Unix Befehle, unter Windows ist es allerdings etwas aufwendiger. Auf dem Arbeitsplatzrechner muss zusätzlich zur Microsoft-Fax Software noch ein generischer Postscript-Treiber sowie Ghostscript installiert werden. Der Druck erfolgt dann als Postscript-Datei, diese wird mit Ghostscript in ein TIFF umgewandelt und das dann der Microsoft-Fax-API übergeben. Der MS Fax-Treiber kann zwar auch direkt TIFF Dokumente erzeugen, leider wird dabei aber stets vom Anwender der Name des Dokuments erfragt, was wir vermeiden wollen. Deshalb der Umweg über die Postscript Datei und Ghostscript.

Die Installation von Ghostscript ermöglicht quasi nebenbei die automatisierte Erzeugung von PDF-Dokumenten, siehe auch: http://www.de.4d.com/wiki/PDF_Erstellung_mit_4D

Notwendige Installation auf Arbeitsplatz

Postscriptfähiger Druckertreiber. Hier ist jeder postscriptfähige Druckertreiber verwendbar, der Adobe Generic PostScript Printer hat sich hier bewährt -> http://www.adobe.com/support/downloads/main.html

Nach Einrichtung legt man unter Anschlüsse einen lokalen Anschluß an und gibt dazu den Pfad auf ein Postscript Dokument auf der lokalen Festplatte/Ordner an. Im nachfolgenden Beispiel wurde C:\meindruck.ps verwendet:

Bild:Fax.gif

GhostScript. GhostScript kann unter http://www.ghostscript.com/ als GPL, AFPL oder als kommerzielle Lizenz geladen werden. Beachten Sie den Lizenzvertrag, es ist zu empfehlen dass der Endanwender sich die Version selbst lädt, wenn sie diese als freie Version verwenden wollen. Installation geht per Doppelklick, als Zielordner wird automatisch C:\Programme\gs verwendet.

Nutzung von 4D

Damit Ghostscript und die vom Postscript Treiber erzeugte Datei verwendet werden können, ist die Kenntnis des Installationspfads, des Treibernamens und der Name der erzeugten Datei notwendig.

Die Beispielsanwendung verwendet eine Preferences Tabelle (mit einem Datensatz), damit der Admin diese Daten selbst erfassen/pflegen kann. Die Formular-Methode für [Preferences]Input zeigt eine Vorgehensweise wie diese Daten im Normalfall vollautomatisch ermittelt werden können. Die Methode ermittelt auch den Namen des Fax-Modems unter Mac OS X.

Für Windows muß außerdem der Name des Senders, die Fax-Nummer des Sender sowie ein Jobtitel (für das Druckprotokoll) angegeben werden, diese Daten werden unter Mac OS nicht verwendet.

Beispiel für Senden eines Faxes, nutzbar unter Mac OS X und Windows (bei installiertem Ghostscript):

` Initialisieren der Parameter
ALL RECORDS([Preferences])
$printer:=[Preferences]PS_Printer   `  z. B. "Generic Postscript Printer"
$printfile:=[Preferences]Printfile   ` z. B. "C:\meindruck.ps"
$ghostscript:=[Preferences]GhostScript_Path   ` z. B.  "C:\Programme\gs\gs8.51"
$Faxserver:=[Preferences]Faxserver
$NameSender:=[Preferences]Name Sender
$NumberSender:=[Preferences]Faxnummer 

`Sendedaten des Faxes
$NumberReceiver:="08165951999"
$NameReciever:="4D Deutschland"
$Subject:="Das ist mein Testfax"

C_BLOB($dummy)
$err:=Fax_Job ("Start";->$dummy;$printer;$ghostscript;$Faxserver;$printfile;$NameSender;$NumberSender;$NumberReceiver;$NameReceiver;$Subject)
	
If (($err="") | ($err="OK"))  ` jetzt der eigentliche Druck
	` hier können  alle 4D Druckbefehle verwendet werden
	Print form([Tabelle1];"Eingabe")
	PAGE BREAK
End if 

`  Abschluss, jetzt wird die erzeugte Postscript Datei in PDF
`  umgewandelt und der Drucker zurückgestellt 

$err:=Fax_Job ("Send";->$dummy;$printer;$ghostscript;$Faxserver;$printfile;$NameSender;$NumberSender;$NumberReceiver;$NameReceiver;$Subject)


Der Aufruf der Methode Fax_Job erfolgt zweimal, einmal mit "Start" zum Initialisieren des Vorgangs, dabei wird auch der Druckertreiber unter Windows gewechselt, unter Mac OS wird die Druckausgabe umgestellt. Beim zweiten Aufuf mit "Send" wird unter Windows das Dokument konvertiert und dann ein Visual Basic Script gestartet, unter Mac per Unix-Terminalbefehl das erzeugte Postscript-Dokument dem Faxdrucker übergeben.


Beispielanwendung und Installation in Ihre Anwendung

Die Beispielanwendung deckt sowohl PDF Erstellung wie Fax-Integration (siehe: http://www.de.4d.com/wiki/PDF_Erstellung_mit_4D) ab, da beide sehr ähnlich aufgebaut sind. Zum Installieren in Ihre Anwendung kopieren Sie die Gruppe "Fax" in Ihre Struktur. Es werden keine Plug-Ins benötigt.

Wenn Sie die Beispielanwendung starten öffnet sich zuerst das Eingabeformular für die Voreinstellungen, damit Sie den Namen des Druckers, Ghostscript-Installationspfad und Druckdokument anpassen können.

Führen Sie dann in der Benutzer-Umgebung die Methode "testfax" aus.

Mögliche Weiterentwicklungen der Routine

Die Routine Fax_Job verzweigt je nach Betriebssystem auf Fax_Job_MacOS bzw Fax_Job_WinXP. Dies lässt sich einfach erweitern um weitere Fax-Systeme einzubinden, wie z. B. 4sightfax.

Mit etwas mehr Aufwand kann auch ein cross-plattform-fähiger Fax-Server erstellt werden. Auf beiden Plattformen wird wie gehabt die Postscript Datei erstellt. Diese wird dann (z. B. per Document to Blob) an einen 4D Client übermittelt der als Fax-Server arbeitet (und an dessen Rechner das Modem angeschlossen ist). Die Postscript Datei ist plattformunabhängig und kann sowohl von Mac wie Windows weiter verarbeitet werden (solange die verwendeten Schriften auf beiden Systemen vorhanden sind). Dieser Client übernimmt dann den letzten Teil (Send) und konvertiert unter Windows zu TIFF und ruft das VB Script auf, bzw. unter Mac OS den Unix-Befehl.

Download der Beispielanwendung:

Fax/PDF

 

Meine Anregung zu dieser Seite:

Bemerkungen, Vorschläge, Fehler
Name
eMail

 

International | Firmenprofil | Kontakt | Site Map | © 4D 1995 - 2007 | Schriftgröße ändern: [A] [A] [A] | Diese Seite drucken - * Externer Link