프린터 드라이버를 사용하지 않고 esc/p 명령 (EPSON TM-T70)을 사용하여 프린터로 직접 인쇄하려고합니다. 코드는 here입니다.직접 인쇄를 사용할 때 문자열이 잘리는 이유는 무엇입니까?
그러나 문자열을 인쇄하려고하면 잘립니다. 예 :
MyPrinter := TRawPrint.Create(nil);
try
MyPrinter.DeviceName := 'EPSON TM-T70 Receipt';
MyPrinter.JobName := 'MyJob';
if MyPrinter.OpenDevice then
begin
MyPrinter.WriteString('This is page 1');
MyPrinter.NewPage;
MyPrinter.WriteString('This is page 2');
MyPrinter.CloseDevice;
end;
finally
MyPrinter.Free;
end;
"This isThis is this"입니다. 줄 바꿈 명령을 보내려면 일반적으로 MyPrinter.NewPage
을 사용하지 않지만 관계없이 왜 문자열을 자릅니다? I 코드를 통해 단계가 중단 점을 넣으면
Result := False;
if IsOpenDevice then begin
Result := True;
if not WritePrinter(hPrinter, PChar(Text), Length(Text), WrittenChars) then begin
RaiseError(GetLastErrMsg);
Result := False;
end;
end;
다음 WrittenChars
가 14로 설정되어, 올바른 :
또한 RawPrint 단위 WriteString
함수를 알. 왜 그렇게 행동합니까?
어떤 델파이 버전입니까? –