Laden...

Druckereinstellungen auslesen/ändern

Erstellt von cualalumpur vor 13 Jahren Letzter Beitrag vor 13 Jahren 4.522 Views
C
cualalumpur Themenstarter:in
10 Beiträge seit 2010
vor 13 Jahren
Druckereinstellungen auslesen/ändern

Hallo Leute,

mein erster Post in diesem Forum 😄 und ich muss sagen es ist einfach genial hab bis "jetzt" zu allem hilfe gefunden!

Ich habe ein Programm geschrieben mit welchem ich Spooler-Informationen von einem printserver auslese und entsprechend überwache.

Nun möchte ich gerne bei Bedarf einen Etikettendrucker (Avery AP5.4) der über das Netzwerk angeschlossen ist ansteuern und die Einstellungen auslesen/ändern.

Der Hersteller selbst konnte/wollte mit keine Hilfe geben und nun ist dieses Forum meine letzte Hilfe.

Ich hab leider keine Idee noch das nötige Wissen um an einen ansatz zu gelangen (Programmiere seit 3 Jahren C#)

Vielen Dank!

Gruß
cualalumpur

Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.

2.082 Beiträge seit 2005
vor 13 Jahren

Hallo cualalumpur und Willkommen,

dass der Hersteller dir keinen Support bietet ist schlecht. Wenn es aber eine Möglichkeit gibt, den Drucker via telnet oder ftp anzusteuern, kannst du ja einfach einen CMD Process starten und die Befehle an den Process geben und eben die Werte wieder auslesen.

Schau dir dazu einfach mal die Process-Klasse an.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

C
cualalumpur Themenstarter:in
10 Beiträge seit 2010
vor 13 Jahren

Vielen Dank, der Drucker ist über ein ftp ansteuerbar, probiere die Klasse aus und gebe feedback!

Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.

C
cualalumpur Themenstarter:in
10 Beiträge seit 2010
vor 13 Jahren

Also Gut ich habe jetzt ein wenig Probiert und leider kein Ergebnis bekommen ...

Dies sind die Steuerzeichen für den Drucker, diese kann man via Netzwerk an den Drucker schicken und er sollte entsprechend die Funktionen ausführen.
#A1 //Sequenzbeginn
#PC2045/65 #G Druckkontrast : 65 %
#PC1003/4.0 #G Druckgeschwind. : 4 Inch/s
#PC1004/4.0 #G Vorschubgeschw. : 4 Inch/s
#PC1005/1 #G Materialtyp : Gestanzt
#PC999999/-1 #G Reset durchführen
#P1 //Sequenzende

Hier ist mein Code für das ganze, nur macht der Drucker nicht was er soll.

            
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            if (sock.Connected == true)
            {
                sock.Disconnect(true);
                sock.Close();
            }
            sock.Connect("IP-Adresse", 9100);
            string text = "#A1#PC999999/-1#P1";
            byte[] ba = StringToByteArray(text);

            sock.Send(ba);

            sock.Disconnect(true);
            sock.Close(2);

Kann mir evtl. jemand helfen und mir Fehlequellen nennen.

Vielen Dank!
cualalumpur

Fluchen ist die einzige Sprache, die alle Programmierer wirklich beherrschen.

F
17 Beiträge seit 2007
vor 13 Jahren

Hallo,

wir verwenden bei uns im Unternehmen Avery TTK , AP7.t und Paxar 676-Drucker.
Außer beim AP7.t verwenden wir keine Treiber dafür. Und da kommt es zum Problem im C#.

Wir haben unseren TTK immer über COM-Schnittstelle direkt angesprochen und ihm eine einfache Textdatei ohne Endung über die LPT1-Schnittstelle übergeben. Die Druckerbefehle die du verwenden mußt, waren in Easyplug hinterlegt.

Das zum unserer Situation damals.

Ich habe dann für den Paxar-Drucker, der ähnlich funktioniert (und aktuell nun zu Avery gehört) mittels Datenmarshalling den Zugriff geschafft. Das ganze findet bei uns über Print- und COM-Server statt und spiegelt ein wenig dein Problem wieder.

Hier mal der Link von MS.
KB322091: Wie Sie Rohdaten an einen Drucker senden, mithilfe von Visual c# .NET

Mittels dieser Anleitung sollte es dir gelingen.

Achja, und da du keinen Druckertreiber hast, solltest du Windows-Generic-Text only als Drucker einstellen, an dem PC wo der Drucker hängt.

Hoffe ich konnte dir ein wenig helfen.

Du bist crazy und willst Party? Dann schicke eine SMS mit Feuer an die 112! Schon kommen 20 Partyboys, ein Auto mit einer Lichterorgel und eine Schaumkanone zu dir nach Hause!