레이블 프린터는 원시 ASCII 문자열 (레이블의 형식을 지정)을 전송하여 제어됩니다. 이와 같이 :.txt 파일에서 프린터를 제어하기위한 ASCII 원시 기호
string s = "\x02L\r" + "D11\r" + "ySWR\r" + "421100001100096" + date + "\r" + "421100002150096" + time + "\r" + "421100001200160" + price + "\r" + "E\r";
RawPrinterHelper.SendStringToPrinter(printerName, s);
이 하드 코딩 된 변형은 잘 작동합니다.
이제 컨트롤 문자열을 .txt 파일에 저장하고 런타임 중에 읽으려고합니다. 이렇게 :
string printstr;
TextReader tr = new StreamReader("print.txt");
printstr = tr.ReadLine();
tr.Close();
그러나이 경우 프린터는 아무것도 인쇄하지 않습니다.
이 (내가 MessageBox.Show(printstr);
모든 것을 보인다 OK. 비록, 우리는 추가 제어 문자를 볼 수 없습니다 이런 식으로 읽기 문자열을 넣으면) StreamReader
이 문자열
에 뭔가를 추가하는 보인다.
이 문제의 해결책은 무엇입니까?
'이 경우 프린터에서 아무것도 인쇄하지 않습니다'라는 의미는 무엇입니까? 문자열의 내용을 인쇄하는 것에 대해 이야기하고 있습니까? – t0mm13b
아니요. 프린터가 아무것도 인쇄하지 않습니다. 제어 문자열이 오류로 포맷 된 경우이 경우처럼 작동하므로 StreamReader가 보이지 않는 문자를 추가한다고 가정합니다. 이 프린터는 문자열의 내용이 아닌 위의 예에서 날짜, 시간 및 가격만을 인쇄합니다. 나머지는 모두 기호 일 뿐이며 레이블을 형식화합니다. – rem
내 편집 된 대답보기 :) – t0mm13b