2011-09-13 31 views
10

プリンタに用紙カットコマンド(USBポート付きEpson TM U220)を送信して、用紙を実際にカットしようとしています。 Epsonアドバンスドプリンタドライバをインストールした後にGeneric/Text OnlyドライバとEpsonプリンタポ​​ートでプリンタを使用しました。 プリンタのコマンドコードは(GS V m)です(m = 0,1,48または49で、デバイスマニュアルに記載されています)。 これらのコマンドをStringWriterによってプリンタに送信する方法を知りたいと思います。 Epsonドライバを使用するよりもはるかに高速であるため、Generic/Text Onlyプリンタを使用します。Epsonプリンタにページカットコマンドを送信するには

私は本当にC#の新機能です。これを実現するためにコードをいくつか提供してください。私は数日間ウェブをサーフィンしてきましたが、答えはまだ見つかりませんでした。私はバイトとしてプリンタコマンドを送信する必要があると思うが、私はどのように行うのか分からない:(

+7

ドライバを使用しないでください。 http://support.microsoft.com/kb/322091 –

答えて

18

非常にありがとうHans。今私はMicrosoft RawPrinterHelperクラスを使用して用紙カットコマンドを送信することができます。 6日間ソリューションここに私がやったことですnetcatで印刷したものについては

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

私は特定の場所で私のページを部分的にカットしたいです...可能ですか?私はスターラベルプリンタを使用しています。 – highwingers

1

(すべてのドライバをインストールせずに何かを印刷するための本当に簡単な方法)、用紙をカットするために:。。

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

C#のバージョンと同じ文字列ですが、16進数にマッピングされます:\x1B = ESCおよび\x1D = GS

関連する問題