驱动热敏打印机 打印图片问题

houjie2819 2010-11-06 01:37:05
要求:打印图片
指令
图形打印命令
ESC * 设定点图命令
格式: ASCII :ESC * m n1 n2 [d]k
十进制 :27 42 m n1 n2 [d]k
十六进制 :1B 2A m n1 n2 [d]k
说明:
设定点图方式(用m),点数(用n1,n2)以及点图内容(用[d]k)。
m =0,1,32,33。n1=0~255,n2=0~3。d=0~255.
k=n1+256╳n2 (m=0,1)
k=(n1+256╳n2) ╳3 (m=32,33)
◆水平方向点数为n1+256╳n2
◆如果点数超过一行,起过其最大点数(与选择的点图方式有关,详
见下表)的部分被忽略。
◆d为点图数据字节,相应位为1则表示该点打印,相应位为0,则表示
该点不打印。(k表示数据个数)
◆m用于选择点图方式。

或者
GS v 0 m 选择并打印快速位象数据
格 式:ASCII码: GS v 0 m xl xh yl yh d1…dk
  十六进制 : 1D 76 30 m xl xh yl yh d1…dk
十进制 : 29 118 48 m xl xh yl yh d1…dk




问题:现在通过网上流行的函数SendDataToPrinter( 'BOSHI BS-167KC', 'Feed ', #27#100 +chr(1));
可以打印文字,可是在打印图片时,好像不好用,请问该如果操作啊??



备注:
网上流行的打印函数:
SendDataToPrinter( 'BOSHI BS-167KC', 'Feed ', #27#100 +chr(1));
这样的函数,
function SendDataToPrinter(sDeviceName, sDocName, sData: String): Boolean;
//功能描述: 发送数据到打印机
//入口参数:
// sDeviceName - 打印机名称
// sDocName - 打印文档名称
// sData - 发送的数据
//出口参数:
// 返回值 - True表示成功, False表示失败
var
bResult : Boolean;
hPrinter : Cardinal;
tDocInfo : _DOC_INFO_1A;
iWrited : Cardinal;
begin
bResult := OpenPrinter(PChar(sDeviceName), hPrinter, nil);
if bResult then
begin
tDocInfo.pDocName := PChar(sDocName);
tDocInfo.pOutputFile := nil;
tDocInfo.pDatatype := nil;
bResult := StartDocPrinter(hPrinter, 1, @tDocInfo) <> 0;
if bResult then
begin
bResult := StartPagePrinter(hPrinter);
bResult := bResult and WritePrinter(hPrinter, @sData[1], Length(sData), iWrited);
bResult := bResult and EndPagePrinter(hPrinter);
EndDocPrinter(hPrinter);
end;
ClosePrinter(hPrinter);
end;
Result := bResult;
end;


、、、、、
问题:我想打印
...全文
561 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
onionzq 2010-11-09
  • 打赏
  • 举报
回复
借帖问问:

谁有Delphi控制Zebra、Datamax打印不同进制序列号标签的一些例子?


1) 有没有一些Delphi控制Datamax I-4308打印机打印标签的例子,或集成指令的一些用法

2) 有没使用Delphi调用ZPL指令打印不同进制的标签、外箱标签、铭牌标签

如大家有的可以发给我学习一下,yczq668#sohu.com, 谢谢 !

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧