Discussion:
Druckertreiber in C#?
(zu alt für eine Antwort)
Martin Maier
2008-01-12 17:35:42 UTC
Permalink
http://www.google.de/search?hl=de&q=DRUCKERTREIBER+++c%23&btnG=Suche&meta=

Hallo,

ich habe einen Etikettendrucker (Label, Thermotransfer).
Nun möchte ich einen Windowsdruckertreiber evtl. schreiben.

Wie bekomme ich den Einstieg? Am besten auf Deutsch, da es komplex ist,
denke ich.
Was brauche ich?

Ist C# geeignet?

Ziel:
Word
OpenOffice
Excel

Hier erstelle ich etwas
Danach lasse ich es ausdrucken

Word - (umwandeln in GDI?/Plotter) - Drucker Treiber - Etikettendrucker
Gibt es da Basisklassen?
Muss ich zusätzlich etwas isntallieren? Ich habe Visual Studio 2005

Probleme habe ich
Schrift
Grafik
Muss ja irgendwie umgewandelt werden ;-)

System Windows XP, Vista


Grüße Martin
Thomas Scheidegger
2008-01-12 18:33:42 UTC
Permalink
Hallo Martin
Post by Martin Maier
ich habe einen Etikettendrucker (Label, Thermotransfer).
Nun möchte ich einen Windowsdruckertreiber evtl. schreiben.
jeder seriöse Drucker-Hersteller sollte doch schon so einen
'Windowsdruckertreiber' zur Verfügung stellen,
denn andernfalls ist heute ein Drucker nahezu unverkäuflich...
Post by Martin Maier
Ist C# geeignet?
ein 'Windowsdruckertreiber' ist im Minimal-Fall eine DLL mit native-API.
(ist also ein Win32/SDK-Thema, nicht C#/.NET)
Mit C# alleine kann man keine solche DLL mit API erstellen.
Da müsste also noch ein native Wrapper drum (zB in C++/CLI).

Grundsätzlich ist solches aber IMHO eh recht fragwürdig,
es stellen sich unzählige Fragen von Kontexte, Threading, Speicherverbrauch
und ggf Konflikte mit mehreren CLR Runtime-Versionen.
Post by Martin Maier
Word - (umwandeln in GDI?/Plotter) - Drucker Treiber -
Etikettendrucker

mit Word kann man doch schon fast seit ewig auf Etiketten drucken?
Was ist da so spezielles dran?
--
Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
Martin Maier
2008-01-12 19:10:09 UTC
Permalink
Hallo!
Post by Thomas Scheidegger
mit Word kann man doch schon fast seit ewig auf Etiketten drucken?
Was ist da so spezielles dran?
ja das ist eine Eigenentwicklung, nicht von mir.
Der Drucker hat ein kleines CAD System dabei, mit dem es sich drucken
lässt. (kein! Windows Druckertreiber, funktioniert über COM Aufrufe ,
danach ser. Schnittstelle)
Idee von meinem Vorgesetzten. ;-)
Jeder kennt Word etc.
Lass den Drucker doch von da aus betreiben.

Gruß + Danke für weitere Tipps Martin
Michael v. Fondern
2008-01-13 15:06:13 UTC
Permalink
Post by Martin Maier
Hallo!
Post by Thomas Scheidegger
mit Word kann man doch schon fast seit ewig auf Etiketten drucken?
Was ist da so spezielles dran?
ja das ist eine Eigenentwicklung, nicht von mir.
Der Drucker hat ein kleines CAD System dabei, mit dem es sich drucken
lässt. (kein! Windows Druckertreiber, funktioniert über COM Aufrufe ,
danach ser. Schnittstelle)
Idee von meinem Vorgesetzten. ;-)
Habt ihr nur einen solchen Drucker, oder mehrere? Wenn der Drucker nicht
völlig unersätzlich oder unglaublich teuer ist, dürfte es billiger sein,
einen neuen Drucker mit Windows-Treiber zu kaufen, als selber einen
Treiber zu entwickeln.

Grüße

- Michael -
Martin Maier
2008-01-13 15:19:52 UTC
Permalink
Hallo,
Absender: Michael v. Fondern
Datum: 13.01.2008 16:06
Post by Michael v. Fondern
Habt ihr nur einen solchen Drucker, oder mehrere? Wenn der Drucker nicht
völlig unersätzlich oder unglaublich teuer ist, dürfte es billiger sein,
einen neuen Drucker mit Windows-Treiber zu kaufen, als selber einen
Treiber zu entwickeln.
ja er ist teuer, und so ein Treiber muss sein. (Chef)
Hast ein Link am besten auf Deutsch für den Einstieg.

Grüße

- Martin -
ekkehard.horner
2008-01-13 15:37:24 UTC
Permalink
Post by Martin Maier
Hallo,
Absender: Michael v. Fondern
Datum: 13.01.2008 16:06
Post by Michael v. Fondern
Habt ihr nur einen solchen Drucker, oder mehrere? Wenn der Drucker
nicht völlig unersätzlich oder unglaublich teuer ist, dürfte es
billiger sein, einen neuen Drucker mit Windows-Treiber zu kaufen, als
selber einen Treiber zu entwickeln.
ja er ist teuer, und so ein Treiber muss sein. (Chef)
Hast ein Link am besten auf Deutsch für den Einstieg.
Grüße
- Martin -
Weder Deutsch noch C# - but that's life:

http://www.microsoft.com/whdc/devtools/wdk/default.mspx
Helmut Woess
2008-01-14 16:16:08 UTC
Permalink
Post by Martin Maier
ja er ist teuer, und so ein Treiber muss sein. (Chef)
Da müsste man mal "teuer" definieren. Wenn ich rechne, dass man da schnell
1 Mannmonat in die Programmierung investiert hat, kostet das der Firma bei
einem durchschnittlichem Gehalt mindestens 5000,- Euro. Und da muss dann
alles funktionieren, ansonsten setzt es auch noch viele Folgekosten.
Kann sich meines Erachtens kostenmäßig nie ausgehen. Aber es lässt sich für
einen Programmierer viel dabei lernen :-))

bye,
Helmut
Michael v. Fondern
2008-01-14 18:32:27 UTC
Permalink
Hallo Helmut,
Post by Helmut Woess
Post by Martin Maier
ja er ist teuer, und so ein Treiber muss sein. (Chef)
Da müsste man mal "teuer" definieren. Wenn ich rechne, dass man da schnell
1 Mannmonat in die Programmierung investiert hat, kostet das der Firma bei
einem durchschnittlichem Gehalt mindestens 5000,- Euro. Und da muss dann
alles funktionieren, ansonsten setzt es auch noch viele Folgekosten.
Kann sich meines Erachtens kostenmäßig nie ausgehen. Aber es lässt sich für
einen Programmierer viel dabei lernen :-))
ja, das sehe ich genauso. Aber so, wie Martin das schreibt ist entweder

- der Drucker weitaus teurer als 5000,-
- der Chef an einer Kosten-Nutzen-Betrachtung nicht interessiert
- oder Martin nicht daran interessiert, Anweisungen seines Chefs in
Frage zu stellen.

(Ich hoffe mal insgeheim, es ist Punkt 1; Punkt 2 spräche nicht für den
Chef und Punkt 3 nicht für Martin.)

Grüße

- Michael -
Martin Maier
2008-01-15 19:14:18 UTC
Permalink
Hallo,
Post by Michael v. Fondern
ja, das sehe ich genauso. Aber so, wie Martin das schreibt ist entweder
- der Drucker weitaus teurer als 5000,-
ja!
Post by Michael v. Fondern
- der Chef an einer Kosten-Nutzen-Betrachtung nicht interessiert
doch sehr wohl ;-)
Post by Michael v. Fondern
- oder Martin nicht daran interessiert, Anweisungen seines Chefs in
Frage zu stellen.
Chef hat immer recht ;-)
Post by Michael v. Fondern
(Ich hoffe mal insgeheim, es ist Punkt 1; Punkt 2 spräche nicht für den
Chef und Punkt 3 nicht für Martin.)
Trotzdem noch ein Tipp....?

Grüße

- Martin -
Michael v. Fondern
2008-01-15 20:26:57 UTC
Permalink
Post by Martin Maier
Trotzdem noch ein Tipp....?
Na, den besten MS-Link zu dem Thema hast du doch schon bekommen, den
Link von Ekkehard. Und du bist sicher, dass für einen Drucker, der mehr
als 5000,- EUR kostet, kein fertiger Windows-Treiber existiert? Von
welchem Hersteller ist denn der Drucker?

Ansonsten hätte ich noch die Idee, sich mal ein preisliches Angebot von
jemand machen zu lassen, der so was schon mal gemacht hat. Per Google
hab ich z.B. diese Firma gefunden:

http://www.qualsoftsoftware.com/developp.htm

Ich denke nicht, dass ihr das selber billiger hinbekommt, falls ihr den
Treiber quasi von Null entwickeln müsst.

Grüße

- Michael -
Martin Maier
2008-01-15 19:11:10 UTC
Permalink
Hallo,
Absender: Helmut Woess
Datum: 14.01.2008 17:16
Post by Helmut Woess
Post by Martin Maier
ja er ist teuer, und so ein Treiber muss sein. (Chef)
Da müsste man mal "teuer" definieren. Wenn ich rechne, dass man da schnell
1 Mannmonat in die Programmierung investiert hat, kostet das der Firma bei
einem durchschnittlichem Gehalt mindestens 5000,- Euro.
wo bekommt man 5000,-€ ?
Ein bisschen viel, oder?


Grüße Martin
Thorsten Doerfler
2008-01-15 19:47:40 UTC
Permalink
Post by Martin Maier
Post by Helmut Woess
Post by Martin Maier
ja er ist teuer, und so ein Treiber muss sein. (Chef)
Da müsste man mal "teuer" definieren. Wenn ich rechne, dass man da schnell
1 Mannmonat in die Programmierung investiert hat, kostet das der Firma bei
einem durchschnittlichem Gehalt mindestens 5000,- Euro.
wo bekommt man 5000,-€ ?
Das was Du bekommst ist nur ein Bruchteil dessen, was Du Deinem AG
effektiv kostest.

Thorsten Dörfler
--
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/
Martin Maier
2008-01-17 20:19:31 UTC
Permalink
Hallo,
Post by Thorsten Doerfler
Post by Martin Maier
Post by Helmut Woess
Da müsste man mal "teuer" definieren. Wenn ich rechne, dass man da schnell
1 Mannmonat in die Programmierung investiert hat, kostet das der Firma bei
einem durchschnittlichem Gehalt mindestens 5000,- Euro.
wo bekommt man 5000,-€ ?
Das was Du bekommst ist nur ein Bruchteil dessen, was Du Deinem AG
effektiv kostest.
ja trotzdem, was ist so der Durchschnittsgehalt Dipl.(FH)
Elektrotechnik/Informatik
5 Jahre Erfahrung ?
Ich verdiene weniger als ct sagt.

http://www.lohnspiegel.de/main


Grüße Martin
Thomas Scheidegger
2008-01-13 15:39:45 UTC
Permalink
Post by Martin Maier
ja das ist eine Eigenentwicklung, nicht von mir.
(kein! Windows Druckertreiber, funktioniert über COM Aufrufe ,
danach ser. Schnittstelle)
evtl. Alternative anstelle der Entwicklung eines neuen 'Druckertreibers':

irgend einen vorhandenen Windows-Druckertreiber mit
bekanntem (dokumentierten) Datenformat
(PCL, PS, Bitmap, EMF, PDF usw, ggf gar XPS/WPF .NET 3.0)
und mit Umleitung entweder in eine Datei oder TCP/IP-Port einrichten,
dann einen Daten-Konverter schreiben der diese Druckerdaten in eures Format
wandelt...

Dazu gibt es AFAIK durchaus diverse Toolkits/SDKs
(virtuelle Druckertreiber => Bitmap oä),
meist kommerziell, aber wohl eher selten für .NET...
--
Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
Martin Maier
2008-01-15 19:15:56 UTC
Permalink
Hallo,
Post by Thomas Scheidegger
Post by Martin Maier
ja das ist eine Eigenentwicklung, nicht von mir.
(kein! Windows Druckertreiber, funktioniert über COM Aufrufe ,
danach ser. Schnittstelle)
irgend einen vorhandenen Windows-Druckertreiber mit
bekanntem (dokumentierten) Datenformat
(PCL, PS, Bitmap, EMF, PDF usw, ggf gar XPS/WPF .NET 3.0)
und mit Umleitung entweder in eine Datei oder TCP/IP-Port einrichten,
dann einen Daten-Konverter schreiben der diese Druckerdaten in eures
Format wandelt...
ja hast evtl. ein Link, Hinweis, Tipp etc.
Einfach als Einstieg.
Post by Thomas Scheidegger
Dazu gibt es AFAIK durchaus diverse Toolkits/SDKs
(virtuelle Druckertreiber => Bitmap oä),
meist kommerziell, aber wohl eher selten für .NET...
Gruß, Martin
Thomas Scheidegger
2008-01-15 20:29:40 UTC
Permalink
Post by Thomas Scheidegger
irgend einen vorhandenen Windows-Druckertreiber mit
bekanntem (dokumentierten) Datenformat
(PCL, PS, Bitmap, EMF, PDF usw, ggf gar XPS/WPF .NET 3.0)
und mit Umleitung entweder in eine Datei oder TCP/IP-Port einrichten,
dann einen Daten-Konverter schreiben der diese Druckerdaten in eures
Format wandelt...
ja hast evtl. ein Link, Hinweis, Tipp etc. Einfach als Einstieg.
ist aber eigentlich keine spezifische C#/.NET Frage...
Es geht ja einfach darum,
ein bestens bekanntes/dokumentiertes Format
(von PostScript bis simple Bitmap, als Datei oder TCP-Stream)
in das (uns unbekannte) Format (COM-Aufrufe?) eures Druckers zu wandeln.

Ähnlich im Sinne von Tools wie (unverbindliche, zufällige!) Links:
http://www.miraplacid.com/mp/docsdk/sdk_about.shtml
http://www.all2pdf.com/virtual-printer-sdk-image.htm
http://www.verypdf.com/artprint/
http://www.polestarsoft.com/virtual_printer/
http://www.directconvert.com/
http://www.zan1011.com/
--
Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
Frank Dzaebel
2008-01-15 21:25:31 UTC
Permalink
Hallo Martin,
Post by Martin Maier
ich habe einen Etikettendrucker (Label, Thermotransfer).
Nun möchte ich einen Windowsdruckertreiber evtl. schreiben.
Sag mal *exakt*, wie der Drucker und Hersteller heisst.
Evtl. kannst Du Dir komplett das ganze sparen.


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Marco von Frieling
2008-01-16 17:34:05 UTC
Permalink
Hallo Martin,

ich stimme Frank hier absolut zu. Möglicherweise gibt es da einen Treiber,
oder C++ Code, auf den man aufsetzen kann. Also poste bitte mal Hersteller,
exakte Modellnummer und Herstellungsdatum (gibt da manchmal Unterschiede,
was unterstützt wird).

Da du von einem Thermodrucker sprichst, könnte es sein, dass das Gerät kein
PostScript oder PCL unterstützt, sondern POS. Das ist der Standard, der vor
Allem in Kassensystemen zur Kommunikation zwischen Rechner, Drucker,
Barcodescanner, Displays etc. eingesetzt wird. Falls dem so ist, könnte sich
ein Blick auf

http://msdn2.microsoft.com/en-us/library/ms828083.aspx

lohnen.

lg,
Marco
Post by Frank Dzaebel
Hallo Martin,
Post by Martin Maier
ich habe einen Etikettendrucker (Label, Thermotransfer).
Nun möchte ich einen Windowsdruckertreiber evtl. schreiben.
Sag mal *exakt*, wie der Drucker und Hersteller heisst.
Evtl. kannst Du Dir komplett das ganze sparen.
ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Martin Maier
2008-01-17 20:15:00 UTC
Permalink
Hallo,
Post by Frank Dzaebel
Post by Martin Maier
ich habe einen Etikettendrucker (Label, Thermotransfer).
Nun möchte ich einen Windowsdruckertreiber evtl. schreiben.
Sag mal *exakt*, wie der Drucker und Hersteller heisst.
Evtl. kannst Du Dir komplett das ganze sparen.
anbei die Fakten.
Druckertyp 1
a)
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=Etikettierung&produkte=206
Erstellen und drucken Sie hiermit Ihr Etikett unter einem
Windows-Programm wie z.B. MS Word, Excel,
Access, Works,Corel Draw etc. Lauffähig unter Windows 98, ME, 2000,XP,
2003 sowie NT 4.0
## Ja, gibt es.

Druckertyp 2
b)
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=Beschriftungslaser&produkte=207&detail=501
Die Softwareansteuerung erfolgt über cablase mit graphischer Oberfläche
in Echtzeit oder der COM-Schnittstelle für kundenspezifisches programmieren.
## Nein, nur über COM


;-) ist nicht meine Idee *g* Chef will es so

Grüße Martin
Marco von Frieling
2008-01-17 20:53:32 UTC
Permalink
Hallo Martin,

schau dich doch einfach mal etwas auf der ´Hersteller-Website um. Für diese
Spezialgeräte wird es vermutlich keine Softwarekomponenten (außer den
erwähnten COM-Bibliotheken, nach denen du suchen/fragen solltest) geben,
sondern eher nur Endnutzer-Software.

Wenn du die COM-Bibliotheken bekommen und nutzen kannst, hast du sicher
einen großen Vorteil im Gegensatz dazu, wenn du die Drucker-API selbst
implementieren musst. "Normale" Druckertreiber für die Geräte und die APIs
Post by Martin Maier
Druckertyp 1
a)
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=Etikettierung&produkte=206
[Treiber]
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=support&id=272
[API]
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=support&id=273
Post by Martin Maier
Druckertyp 2
b)
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=Beschriftungslaser&produkte=207&detail=501
[Treiber/Software]
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=support&id=295

[Programmbeispiele]
http://www.cabgmbh.com/deutsch/index.cfm?fuseaction=kennzeichnung&rubrik=support&id=296

lg,
Marco
Frank Dzaebel
2008-01-21 06:43:36 UTC
Permalink
Hallo Martin,
Post by Martin Maier
Post by Frank Dzaebel
Sag mal *exakt*, wie der Drucker und Hersteller heisst.
Evtl. kannst Du Dir komplett das ganze sparen. anbei die Fakten.
Die Softwareansteuerung erfolgt über cablase mit graphischer Oberfläche
in Echtzeit oder der COM-Schnittstelle für kundenspezifisches
programmieren. ## Nein, nur über COM
Dann ist das also evtl. eine Art GUI oder Steuer-Schicht,
die Du schreiben willst, die die COM-Schnittstelle *benutzt*,
um auf dem Drucker verschiedenste Aktionen auszuführen.
Nicht direkt ein (wirklicher) Windows-Treiber, denn
der ist ja unterhalb der COM-Schnittstelle schon vorhanden.

Das ist unter .NET sehr einfach.
Du musst nur unter Verweise die COM-
Bibliothek (im COM Reiter) einbinden.
Schon hast Du managed Zugriff auf alle
Methoden und Klassen dieser Bibliothek.

Oder ist es so, dass die COM-Funktionalität
nicht ausreichend ist?


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Martin Maier
2008-01-21 19:14:45 UTC
Permalink
Hallo Frank,
Post by Frank Dzaebel
Dann ist das also evtl. eine Art GUI oder Steuer-Schicht,
die Du schreiben willst, die die COM-Schnittstelle *benutzt*,
um auf dem Drucker verschiedenste Aktionen auszuführen.
Nicht direkt ein (wirklicher) Windows-Treiber, denn
der ist ja unterhalb der COM-Schnittstelle schon vorhanden.
Das ist unter .NET sehr einfach.
Du musst nur unter Verweise die COM-
Bibliothek (im COM Reiter) einbinden.
Schon hast Du managed Zugriff auf alle
Methoden und Klassen dieser Bibliothek.
Oder ist es so, dass die COM-Funktionalität nicht ausreichend ist?
für mich schon ;-)
Meinem Chef schwebt halt das Ausdrucken über Word, Excel etc. vor.
Das geht ja nur über einen standardisierten Windows Druckertreiber.
Korrekt?

ciao Martin
Frank Dzaebel
2008-01-21 20:57:14 UTC
Permalink
Hallo Martin,
Post by Martin Maier
Post by Frank Dzaebel
Oder ist es so, dass die COM-Funktionalität nicht ausreichend ist?
für mich schon ;-)
Meinem Chef schwebt halt das Ausdrucken über Word, Excel etc. vor.
Das geht ja nur über einen standardisierten Windows Druckertreiber.
Korrekt?
Das kommt darauf an, was die COM-Schnittstelle bietet.
Was sagt denn der Support der Firma dazu.
Das ist ja ein ein sehr spezialisiertes Wissen,
was eine COM-Schnittstelle für Funktionalitäten
bietet. Ich vermute, dass die COM-Schnittstelle
ihrerseits wieder auf Treiber zurückgreift, die
über cablase installiert werden. Aber der richtige
Ansprechpartner ist da die cab GmbH, z.B.:

... Ihre Ansprechpartnerin Elektronik:
Gabriele Kälberer-Schroll
Tel. +49/721/6626-281
Fax +49/721/6626-219
E-Mail: ***@cabgmbh.com


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET
Lesen Sie weiter auf narkive:
Loading...