马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想用delphi实现调用打印机用zpl指令打印,参考了网上的。遇上了问题,打印没有反应,打印机查看正在打印的列表里能看见文件存在了一瞬间,然后就没反应了。但是当我把 pDatatype := 'RAW';改成 pDatatype := 'Text';就可以成功打印,但是只能把zpl指令当作文本输出。求大佬指教!procedure WriteRawStringToPrinter(PrinterName, S: string);
var
Handle: THandle;
N: DWord;
DocInfo1: TDocInfo1;
begin
if not OpenPrinter(PChar(PrinterName), Handle, nil) then
raise Exception.Create('打开打印机失败!');
with DocInfo1 do
begin
pDocName := PChar('Test Doc');
pOutputFile := nil;
pDatatype := 'RAW';
end;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, PChar(S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ZPL: string;
sList: TStringList;
begin
sList := TStringList.Create;
try
sList.Clear;
sList.LoadFromFile('E:\print.txt');
showmessage(sList.Text);
ZPL := sList.Text;
WriteRawStringToPrinter(comboBox1.Text, ZPL); //’打印机名’
finally
sList.Free;
end;
end;
|