鱼C论坛

 找回密码
 立即注册
查看: 1768|回复: 2

想用delphi实现调用打印机用zpl指令打印,遇上了问题

[复制链接]
发表于 2022-2-23 15:58:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想用delphi实现调用打印机用zpl指令打印,参考了网上的。遇上了问题,打印没有反应,打印机查看正在打印的列表里能看见文件存在了一瞬间,然后就没反应了。但是当我把  pDatatype   := 'RAW';改成  pDatatype   := 'Text';就可以成功打印,但是只能把zpl指令当作文本输出。求大佬指教!
  1. procedure WriteRawStringToPrinter(PrinterName, S: string);
  2. var
  3.   Handle: THandle;
  4.   N: DWord;
  5.   DocInfo1: TDocInfo1;
  6. begin
  7.   if not OpenPrinter(PChar(PrinterName), Handle, nil) then
  8.    raise Exception.Create('打开打印机失败!');
  9.   with DocInfo1 do
  10.   begin
  11.     pDocName    := PChar('Test Doc');
  12.     pOutputFile := nil;
  13.     pDatatype   := 'RAW';
  14.   end;

  15.   StartDocPrinter(Handle, 1, @DocInfo1);
  16.   StartPagePrinter(Handle);
  17.   WritePrinter(Handle, PChar(S), Length(S), N);
  18.   EndPagePrinter(Handle);
  19.   EndDocPrinter(Handle);
  20.   ClosePrinter(Handle);
  21. end;




  22. procedure TForm1.Button1Click(Sender: TObject);
  23. var
  24.   ZPL: string;
  25.   sList: TStringList;
  26. begin
  27.   sList := TStringList.Create;
  28.   try
  29.     sList.Clear;
  30.     sList.LoadFromFile('E:\print.txt');
  31.     showmessage(sList.Text);
  32.     ZPL := sList.Text;
  33.     WriteRawStringToPrinter(comboBox1.Text, ZPL);    //’打印机名’
  34.   finally
  35.     sList.Free;
  36.   end;
  37. end;
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-23 16:18:46 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-23 16:21:24 | 显示全部楼层
ba21 发表于 2022-2-23 16:18
是不是驱动不对。
https://www.cnblogs.com/chengeng/p/6133764.html

驱动应该没问题,我打印其他的都可以,用别的打印软件也可以。谢谢awa
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 16:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表