2011-09-13 11 views
10

Próbuję wyciąć papier pragmatycznie, wysyłając polecenie cięcia papieru do drukarki (Epson TM U220 z portem USB). Użyłem drukarki ze sterownikiem Generic/Text Only i portem drukarki Epson, który znalazłem po zainstalowaniu zaawansowanego sterownika drukarki Epson . Kod komend drukarki to (GS V m), gdzie m = 0,1,48 lub 49, które znalazłem w instrukcji obsługi urządzenia. Chciałbym wiedzieć, jak wysłać te polecenia do drukarki przez StringWriter. Używam drukarki Generic/Text Only, ponieważ jest ona znacznie szybsza niż w przypadku sterownika Epson.Jak wysłać polecenie cięcia strony do drukarki Epson

Jestem naprawdę nowy dla okien C# i proszę, aby każdy uprzejmie podał mi kilka linii kodu, aby to osiągnąć. Przez kilka dni surfowałem po Internecie i nadal nie znalazłem odpowiedzi. Myślę, że muszę wysłać polecenie drukarki jako bajt, ale nie wiem jak to zrobić :(

+7

Nie używaj sterownika. http://support.microsoft.com/kb/322091 –

Odpowiedz

18

Dziękuję bardzo Hans.Obecnie mogę wysłać polecenie cięcia papieru przy użyciu klasy Microsoft RawPrinterHelper. . rozwiązanie przez sześć dni tutaj jest to, co robiłem

string GS = Convert.ToString((char)29); 
string ESC = Convert.ToString((char)27); 

string COMMAND = ""; 
COMMAND = ESC + "@"; 
COMMAND += GS + "V" + (char)1; 

PrintDialog pd = new PrintDialog(); 
pd.PrinterSettings = new PrinterSettings(); 
if (DialogResult.OK == pd.ShowDialog(this)) 
{ 
RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, COMMAND); 
} 
+0

Chcę wykonać częściowe cięcia na mojej STRONIE w określonym miejscu ... czy to możliwe? Używam Star Label Printer. – highwingers

1

dla tych drukowania netcat (naprawdę łatwy sposób wydrukować coś bez instalowania żadnych sterowników), aby odciąć papier.

echo -e "\[email protected]\x1DV1" | nc printer.ip 9100 

Ten sam ciąg jak w wersji C#, ale zamapowany na hex: \x1B = ESC i \x1D = GS.

Powiązane problemy