Druckertreiber fuer mehrere Plattformen

Hallo,

wir haben bereits einen Druckertreiber der unter Windows XP aus allen moeglichen Anwendungen statt dem Ausdruckauf dem Drucker FaxTIF-Dateien erzeugt.

Leider laeuft der nun aber unter Vista nicht mehr.

Aus diesem Anlass wollen wir einen neuen Druckertreiber erstellen, der aber moeglichst identisch unter Mac, Linux und Windows laeuft.

Hat jemand eine Idee in welcher Programmiersprache das am Besten moeglich ist?

Mir ist schon klar, dass einige Teile unterschiedlich programmiert werden muessen, aber zumindest die GUI sollte vielleicht in einer einheitlichen Sprache erstellt werden koennen und vom Rest so viel wie moeglich. Es rechnet sich einfach nicht drei verschiedene Plattformen komplett zu programmieren und zu pflegen.

Ich waere fuer jeden Hinweis auf eine einheitliche Sprache und jeden allgemeinen Hinweis zu dieser Problematik dankbar.

Christian

Hallo,

ein Treiber hat eigentlich ger kein GUI. Und aus deinem Beitrag entnehme ich, dass du keine Grundkenntnisse in Sachen Programmierung hast, daher würde ich ein solches Projekt nicht durchführen.

Ansonsten tippe ich in Richtung C++.

Grüße,
Nik

Aus diesem Anlass wollen wir einen neuen Druckertreiber
erstellen, der aber moeglichst identisch unter Mac, Linux und
Windows laeuft.

Hallo Christian,

Sinn eines GUI ist u.a., dass man es in kurzer Zeit zusammenklicken kann. Theoretisch könnte man so abstrahieren, dass man den Code dazu grösstenteils für 3 Systeme verwenden kann, aber wahrscheinlich ist der Aufwand grösser als 3 mal den ausgetretenen Weg zu gehen.

Ausserdem: Um was man nicht herumkommt, ist für Windows/Linux/Mac verschiedene Installer zu schreiben. Kein Windows-User kann mit einem Linux-Paket etwas anfangen, ebenso akzeptiert kein Linux-User eine selbstinstallierende EXE.

Als Gemeinsamkeit bleibt nur das Rendern selbst. Allerdings gibt es unter Unix eigentlich keine Druckertreiber, die Programme erzeugen Postscript.

Gruss Reinhard

Hallo Nik,

da hast Du recht (aber nur eigentlich…), der Treiber an sich hat natuerlich keine GUI. Aber eben alles was so dazugehoert, um ihn komfortabel zu konfigurieren und zu bedienen (Voranzeige, Automatische Erstellung der Email mit dem erstellten Anhang, Speicherung von Daten usw. ).

An C++ hatte ich auch schon gedacht, andere haben mir Java empfohlen.
Hast Du eine Ahnung was sich besser eignen koennte?

Zu Deiner Beruhigung: Ich habe auch nicht vor das ganze selbst zu programmieren. Aber fuer eine vernuenftige Ausschreibung muss ich nun mal erst ein paar Infos sammeln. Ich lasse mir nicht gerne von demjenigen etwas aufs Auge druecken, der Geld dafuer kassieren will und dann natuerlich seine bevorzugte Programmier-Sprache empfiehlt… Das habe ich schon einmal hinter mir!

Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dass der Installer unterschiedlich sein muss ist schon klar. Und selbst wenn auch die GUI dreimal geschrieben werden muesste, waere es doch praktisch diese fuer alle drei in einer einheitlichen Sprache zu haben.
Bei Linux muss das PS dann eben in eine TIF umgewandelt werden und die GUI soll auch shcon noch einigen Komfort bei der Konfiguration, Datenspeicherung und dem Versand der Datei bieten.

Bisher wurden mir C++ und Java empfohlen.
Hast Du eine Ahnung was sich besser dafuer eignen koennte?

Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

An C++ hatte ich auch schon gedacht, andere haben mir Java
empfohlen.
Hast Du eine Ahnung was sich besser eignen koennte?

Wenn du wirklich einen Gerätetreiber verfassen möchtest, musst du systemnah arbeiten. Bei Java hängt eine VM dazwischen, du kannst nicht mit dem Betriebssystem kommunizieren (bzw. nur auf den von de rVM angebotenen Wegen).

Für Windows brauchst du zum Beispiel eine Bibliothek (.DLL-Datei), die zum Treiber gehört - eien solche aus Java zu bekommen ist zwar möglich, aber weder einfach noch kommt am Ende ein für diesen Zweck brauchbares Ergebnis dabei heraus.

Zu Deiner Beruhigung: Ich habe auch nicht vor das ganze selbst
zu programmieren. Aber fuer eine vernuenftige Ausschreibung
muss ich nun mal erst ein paar Infos sammeln. Ich lasse mir
nicht gerne von demjenigen etwas aufs Auge druecken, der Geld
dafuer kassieren will und dann natuerlich seine bevorzugte
Programmier-Sprache empfiehlt… Das habe ich schon einmal
hinter mir!

Frage: Für was genau soll der Treiber denn sein? Wenn ihr die Hardware nicht auch selber gebaut habt, muss es doch Treiber geben?

Grüße,
Nik

Bisher wurden mir C++ und Java empfohlen.
Hast Du eine Ahnung was sich besser dafuer eignen koennte?

Hallo Christian,

beides zusammen hätte einen gewissen Sinn: C++ für den Treiber, Java als GUI - aber ob sich der Interface-Aufwand lohnt?

Mit Java kann man praktisch keine Treiber schreiben, mit C++ aber nicht nur eine, sondern viele GUIs, also C++. Obwohl ich die Sprache für programmierten Horror halte, aber Besseres weiss ich auch nicht, jedenfalls nicht für Treiber.

Gruss Reinhard

Hallo Nik,

es handelt sich hier nur um einen virtuellen Treiber um aus allen Anwendungen auf dem System Fax-Tif-Dateien zu erstellen anstatt sie wirklich auszudrucken.

Christian

Frage: Für was genau soll der Treiber denn sein? Wenn ihr die
Hardware nicht auch selber gebaut habt, muss es doch Treiber
geben?

Grüße,
Nik

Hallo Nik,

es handelt sich hier nur um einen virtuellen Treiber um aus
allen Anwendungen auf dem System Fax-Tif-Dateien zu erstellen
anstatt sie wirklich auszudrucken.

Christian

OK - aber warum möchtest du das? Erstens, wieso TIFF, und nicht PDF, und zweitens, wieso benutzt ihr nicht eins der vielen verfügbaren Programme dafür?

-nik

Hallo!

OK - aber warum möchtest du das? Erstens, wieso TIFF, und
nicht PDF, und zweitens, wieso benutzt ihr nicht eins der
vielen verfügbaren Programme dafür?

Wozu sind solche Fragen gut? Wenn der Fragesteller einen TIFF-Druckertreiber will, dann hat er Gründe dafür. Wenn wenn er keines der verfügbaren Programme nutzt, dann deswegen, weil es keins gibt, dass sich auf allen Betriebssystemen identisch konfiguieren lässt. Also beschränke man sich auf das Beantworten der Fragen oder schreibe eben nichts, wenn man nichts Sachdienliches beizutragen hat.

Gruß M.

Danke für den Hinweis, ich werde in Zukunft nicht mehr versuchen, anderen Leuten zu helfen.

Grüße,
Nik

Hallo Nik

sei doch nicht gleich beleidigt, weil jemand seinen Senf dazugibt, obwohl er nicht ganz Unrecht hat. Ich finde es auch manchmal schrecklich, wenn einem ein „Helfer“ versucht etwas anderes aufzuschwaetzen, wie das, was man eigentlich will oder braucht.

Andererseits ist es natuerlich auch besser wenn der „Helfer“ weiss um was es geht und die Zusammenhaenge etwas besser versteht. Deshalb ist es manchmal besser die Frage etwas ausfuehrlicher zu kommentieren. Vielleicht kommen dann ja manchmal noch ganz andere Ideen heraus:

Ich betreibe einen Faxservice, der ueber einen Faxserver fuer Kunden Faxe versendet (abacusfax.de). Der Faxserver braucht nun mal TIF als Faxformat.

Wenn ich also von Kunden eine PDF oder ein anderes Format bekomme, dann muss dies erst auf dem Faxserver umgewandelt werden, was Rechenzeit und Kapazitaet kostet. Ausserdem koennen meist nur Dateien umgewandelt werden fuer die man auch ein lizensiertes Programm auf dem Server installiert hat.

Deshalb ist es einfacher dem Kunden einen Druckertreiber zur Verfuegung zu stellen, mit dem er aus „allen seinen“ Programmen eine TIF-Datei erstellen kann. z.B. auch aus einem CAD-Programm oder aus Grafik-Programmen, fuer die ich keine Lizenz habe und wegen dem geringen Bedarf auch keine Lizenz erwerben kann.

Derhalb der virtuelle Treiber!

Und ein kostenloses mehrsprachiges Standardprogramm mit dem man tif-Dateien ueber einen virtuellen Drucker erstellen kann, kenne ich nicht. Ausserdem ist es dann auch nicht an unseren (oder unserer Kunden) speziellen Bedarf angepasst, was dem Kunden wiederum die Bedienung oder zumindest die Konfiguration wesentlich erschwert.
Bei einem kostenpflichtiges Programm muss man wieder fuer jede Lizenz eine Gebuehr zahlen, was auch nicht in unserem Sinne ist, da wir weltweit einige tausend Kunden haben, wobei auch viele Privatpersonen sind, die im Monat nur ein/zwei Faxe verschicken, was sich dann irgendwo in einem Umsatzbereich zwischen 4 und 20 Cent abspielt. Da sind nicht noch Lizenzgebuehren drin.

Ausserdem sollen ueber den Treiber in Zukunft auch Briefe versandt werden, bei denen das Adressfeld genau gecheckt werden muss usw…

Es bleibt also nur ein eigener virtueller Drucker-Treiber.

Da der Anteil an Mac und Linux Kunden nicht sehr gross ist (vielleicht auch nur deshalb, weil es bisher keinen Treiber gibt), wollten wir eben moeglichst wenig in diese beiden Varianten stecken, weshalb so viel wie moeglich einheitlich sein soll (auch wegen der Pflege der Software).

Wir haben ja auch schon einen, aber der hat eben nur fuer Windows XP funktioniert, er ist aber sehr beliebt bei unseren Kunden, weil er noch einige Versand-Daten speichert und auch eine umfangreiche Konfiguration fuer die Uebermittlung der Faxe an uns enthaelt. Vista geht da aber schon nicht. Weshalb wir nun einen neuen Treiber brauchen.
Der alte Treiber ist so kontruiert, dass er sich auch nicht weiter portieren laesst und der alte Programmierer macht auch nichts mehr.

Vielleicht verstehst Du ja jetzt besser, weshalb uns eigentlich nur dieser Weg ueber einen eigenen Treiber bleibt.

Danke auch noch fuer Deine Anregungen.

Christian

OK - aber warum möchtest du das? Erstens, wieso TIFF, und
nicht PDF, und zweitens, wieso benutzt ihr nicht eins der
vielen verfügbaren Programme dafür?

-nik

Hallo Christian,

sei doch nicht gleich beleidigt, weil jemand seinen Senf
dazugibt, obwohl er nicht ganz Unrecht hat.

Hmm, wahrscheinlich war das gerade in der Phase, in der ich sowieso schon tierisch stinkig auf ein anderes „Support“-Forum war, in dem so überhaupt nichts als blödes Gelaber und schon gar kein Support zu finden war …

Jedenfalls mag ich es ebenso wenig, wenn jemand seinen Senf dann im Thread dazu abgibt - denn das tut an der Stelle noch wesentlich weniger zur Sache als meine Anregungen. Es gibt schließlich genug Möglichkeiten, Benutzer privqat zu kontaktieren.

Wenn ich also von Kunden eine PDF oder ein anderes Format
bekomme, dann muss dies erst auf dem Faxserver umgewandelt
werden […]

Aha, das ist doch was Anderes. Bisher wolltest du nur TIFFs aus allen möglichen Programmen erstellen. Auf deinem Faxserver kommen so oder so nur TIFFs an, egal was der Benutzer in die Leitung schickt (seine Faxsoftware wird ebenfalls nur TIFFs über die Leitung schicken …).

Deshalb ist es einfacher dem Kunden einen Druckertreiber zur
Verfuegung zu stellen, mit dem er aus „allen seinen“
Programmen eine TIF-Datei erstellen kann. z.B. auch aus einem
CAD-Programm oder aus Grafik-Programmen, fuer die ich keine
Lizenz habe und wegen dem geringen Bedarf auch keine Lizenz
erwerben kann.

OK, der Benutzer soll also TIFFs erstellen. Und ir diese dann faxen? Wie macht er das? Wenn er mit seinem PC doch sowieso faxen kann, ist das Dateiformat und das Programm, aus dem er faxt, doch so oder so egal?

Ausserdem sollen ueber den Treiber in Zukunft auch Briefe
versandt werden, bei denen das Adressfeld genau gecheckt
werden muss usw…

Vielleicht verstehst Du ja jetzt besser, weshalb uns
eigentlich nur dieser Weg ueber einen eigenen Treiber bleibt.

Ja, das schon. Nur die Zusammenhänge durchschaue ich noch nicht ganz - ist das nun ein Projekt, das ihr an Kunden verkauft? Oder etwas, das eure Kunden für die Korrespondenz mit euch verwenden? Oder etwas, das ihr nur intern einsetzt?

Ich betreibe die Diskussion hier ja nicht zum Spaß, sondern um es zu verstehen - und damit andere, die vielleicht ähnlich „doof“ sind wie ich es auch verstehen …

-nik

Hallo Nik,

Der Kunde sendet uns nur die Datei
WIR versenden die Datei dann als Fax fuer unsere Kunden.

Es gibt dafuer zahlreiche Gruende. Angefangen von besseren Tarifen, weil Kunden keine Faxkarte auf ihrem Computer haben, keinen Telefon-Anschluss haben oder wegen DSL nicht faxen koennen usw.

Ausserdem geht es dann ja auch noch um Rundschreiben an Kunden mit hundert oder sogar ein paar tausend Faxen (kein SPAM!) und vor allem um internationale Faxe zu guenstigen Preisen. Da geht aber auch um Pizza-Bestellungen auf Webseiten, die an uns zum Faxen weitergeleitet werden, weil im Restaurant kein Computer steht sondern nur ein Faxgeraet oder ein Handy (SMS versenden wir auch) vorhanden ist und die normalen Webserver haben eben meist keine Moeglichkeit zum Faxen.

Wir bieten also nur den Versand der Faxe und stellen dafuer unseren Kunden kostenlos den Druckertreiber zur Verfuegung, damit sie uns moeglichst TIF-Dateien schicken.

Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

OK, da kann ich nicht viel zu sagen. Nur wenn die Faxerei automatisiert wird, wäre ein System auf HylaFAX-Basis vielleicht eine Lösung (Client/Server-Fax-System).

Aber da das nicht zum Thema passt, lassen wir das.

-nik