最近由于工作需要,一直在研究串口控制打印机. 我使用的打印机型号为: Epson M-T500 热敏打印机.手头有一份打印机的使用文档,各种命令介绍都有.但有几个命令的使用死活看不明白.
- 绝对定位
- 字体大小的设置(大小,加粗)
- 图形打印
- 字体的选择
以下是我的打印机文档:https://files.cnblogs.com/cwbboy/终端打印机资料.rar
1、绝对定位:
首先,对绝对定位的概念不清楚,不指它指的绝对是以什么为参考值的。打印纸上有黑色条,打印机可以定位到黑色条,难道绝对定位是以黑色条开始计算的? 绝对定位是指往前移动指定的值,还是其他的什么? 我实在不明白。以下是文档中绝对定位的命令格式:
不知它为什么要弄得如此复杂?直接指定一个值就是更简单吗?
2、字体大小的设置
在文档中有几处字体大小设置的命令:
a. 设置字符打印方式
这个命令我一直没有执行成功
b. 设置字符倍宽打印
这个命令招行了也是没有效果的。
其实我想实现的就是设置字体的大小和加粗,不知这个倍宽是什么效果。
对于文字的加粗就更不明白了,好像没有加粗的命令,但想想又不可能。这个打印机功能是很全面的。
3、图形打印
我在程序中生成位图文件,然后通过打印机打印出来。命令格式如下:
ESC * 设定点图命令
格式: ASCII :ESC * m n1 n2 [d]k
十进制 :27
十六进制 :1B
说明:
设定点图方式(用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用于选择点图方式。
|
M |
Mode |
纵向 |
横向 |
||
|
点数 |
点密度 |
点密度 |
最多点数 |
||
|
0 |
8点单密度 |
8 |
68DPI |
101DPI |
288 |
|
1 |
8点双密度 |
8 |
68DPI |
203DPI |
576 |
|
32 |
24点单密度 |
24 |
203DPI |
101DPI |
288 |
|
|
24点双密度 |
24 |
203DPI |
203DPI |
576 |
8点方式 24点方式
点图数据(位图) 点图数据(位图)
其中的d[k] 总是让人糊涂,不知是什么形式的数据。后来在贴子中http://community.csdn.net/Expert/topic/4130/4130818.xml?temp=.8703272,有人指点可以对取得位图的颜色信息的字节数组。
不知在.net中如何才能取得位图文件的颜色信息?
在文档中,还有条码打印令。也不熟悉。先说到这里吧。 有相关经验的朋友还望能指点一二。谢了。