想用delphi实现调用打印机用zpl指令打印,遇上了问题
想用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;
是不是驱动不对。
https://www.cnblogs.com/chengeng/p/6133764.html ba21 发表于 2022-2-23 16:18
是不是驱动不对。
https://www.cnblogs.com/chengeng/p/6133764.html
驱动应该没问题,我打印其他的都可以,用别的打印软件也可以。谢谢awa
页:
[1]