最近项目需求需要打印一个小票,百度了一下,都是那几篇文章,而且都是有固定API,可以判断切纸,长度的那种.实际中我这边便携式蓝牙打印机根本就没有API,只能通过写模板,其中涉及到CPCL的模板一些用法,记录一下.

如果需要仔细研究CPCL打印机方面,请google/百度搜索 斑马CPCL说明文档.

这次弄小票的打印模板,研究了下公司maven里面bluetoothlibrary包含的ZhongTong.txt打印面单的模板.

稍微有点经验,写出来,如果下次谁还需要弄这个,至少能有个简单的说明.

模板为txt文件格式,每个参数使用 空格间隔即可.


1.模板头部(文本的第一行)

! 0 200 200 1100 1

! => 开始标签

0 => 表示整体打印模板的偏移量

200 => 横向分辨率(每英寸的点数)(一般使用默认200即可)

200 => 竖向分辨率(同上)

1100 => 打印内容的最大高度(根据实际排版后确定,单位为mm)

1 => 每次打印的张数,默认1张/每次 就行.


2.模板宽度/宽度(一般为第二行起)

PAGE-WIDTH 580

PAGE-WIDTH => 没啥好说的

580 => 模板的宽度,单位为mm

如果是模板长度还可以额外设置

PAGE-HEIGHT 1100 或 PH 1100
待确认,现在打印失效,待确定是否为打印机驱动SDK的原因


3.画线

我只知道直线怎么画,虚线什么的不清楚.

举个栗子:

LINE 0 280 558 280 2

LINE => 表示为 线

0 => 起点的x坐标

280 => 起点的y坐标

558 => 终点的x坐标

280 => 终点的y坐标

2 => 线宽


模板的整体坐标是以打印纸的左上角为原点,x轴 左负右正,y轴 上负下正!!!


4.写字

TEXT 2 0 10 330 车牌号:TEXT 2 0 100 330 [carNum]

TEXT => 表示为 文本

2 => 字体的字号(和斑马CPCL描述有出入,斑马CPCL内该行代表字体font,默认为FG,还有FN,FS,设置数字代表选取对应的字体组 )

0 => 字体的 size

10/100 => 该行文字的x坐标

330 => 该行文字的y坐标

车牌号/[carNum] => 文本内容

tips: 具体文字的x.y坐标确定后,打印,该坐标是按照一般左上角还是Android文字的左下角,待确定.

4.1 字体的旋转

一般为正常排列,可能会涉及到角度旋转,只支持默认,90°,180°,270°,方向是 逆时针.需要字体角度旋转的,使用 TEXT90/T90,TEXT180/T180及TEXT270/T270 就行

4.2 字体大小的调整.

按照公司maven库内bluetoothlibrary内包装的结果,字体大小设置分别代表的字体size为:

1 ==> 3

0 ==> 8

3,55 ==> 16

2,8 ==> 24

4 ==> 32

默认字体大小为24.

然后TEXT后第二位为对应的字号后的大小,默认为0就行.想再加大,++就行.

比如说想要设置 比常规字体大一号,且再加大,就是

TEXT 4 1 x y 例子

4.3 字体加粗的调整

如果需要设置字体加粗,在该行文本前面添加:

SETBOLD 1

SETBOLD => 表示后续的内容需要加粗

1 => 加粗程度,默认不需要加粗,为0

需要注意的是: 当设置好加粗后,后续不需要加粗,需要再设置一遍 SETBOLD 0 才行.


5.结束语

FORM

走到下一张纸,打印标签纸定位作用(连续纸不可用

这里说一下血的教训:
打印纸一般都属于热敏纸,按照使用途径分为连续纸和标签纸,连续纸就是哪种直接手撕,比如哪种超市小票,外卖的哪个小票那种.标签纸是自带隔断的,比如说快递面单,就是自带隔断的,通过FORM可以去寻找当前打印完成后的下一张纸.
不是标签纸,千万不要加,不是标签纸,千万不要加,不是标签纸,千万不要加.
重要的事情说3遍,
加了以后你会发现,emmm…
能给你出3~4倍长度的空白纸出来.

PRINT

这个是必须要加的,代表结束,可以开始打印了.


6.一个坐标还没有完全校调好的例子,提供用于参考

! 0 200 200 1100 1
PAGE-HEIGHT 1100
PAGE-WIDTH 580LINE 0 80 558 80 2
LINE 0 280 558 280 2
LINE 0 480 558 480 2
LINE 0 780 558 780 2
LINE 0 980 558 980 2TEXT 2 0 10 180 类型:
SETBOLD 1
TEXT 2 0 60 180 [type]
SETBOLD 2
TEXT 4 1 160 180 [typeValue]
SETBOLD 0
TEXT 2 0 290 180 线路:
TEXT 3 0 340 150 发
TEXT 3 0 340 210 到
SETBOLD 1
TEXT 2 0 375 150 [lastSite]
TEXT 2 0 375 210 [nextSite]SETBOLD 0
TEXT 2 0 10 330 车牌号:
TEXT 2 0 10 430 总  重:
TEXT 2 0 290 330 货重:
TEXT 2 0 390 430  车重:
SETBOLD 1
TEXT 2 0 100 330 [carNum]
TEXT 2 0 100 430 [allWeigh]
TEXT 2 0 360 330 [goodsWeigh]
TEXT 2 0 460 430 [carWeigh]SETBOLD 0
TEXT 2 0 10 530 称重/打印中心:
TEXT 2 0 10 575 称重/打印人员:
TEXT 2 0 10 630 称重时间:
TEXT 2 0 10 685 打印时间:
SETBOLD 1
TEXT 2 0 200 530 [weighSite]
TEXT 2 0 200 575 [weighPerson]
TEXT 2 0 120 630 [weighDate]
TEXT 2 0 120 685 [printDate]SETBOLD 0
TEXT 2 0 10 870 注意事项:
SETBOLD 2
TEXT 4 1 10 930 [weighTips]SETBOLD 0
TEXT 2 0 10 1060 装卸人员:
TEXT 2 0 290 1060 中心监督人员:PRINT

CPCL简易打印模板设计相关推荐

  1. C#打印模板设计,E店宝打印模板设置,winfrom打印模板设计,DevExpress.XtraReports.UI.XRTable 表格代码生成。...

    一.打印效果 二.代码编辑 1 .table1 : table控件的Name: 2.label33 :label控件 实现绑定[外部平台单号]的控件: 3.label32:绑定[E店宝订单编号](S开 ...

  2. 单据小票打印模板自定义设计,手机收银软件APP搭配蓝牙便携打印机,移动便携打印零售单单据小票

    单据小票打印模板自定义设计,手机收银软件APP搭配蓝牙便携打印机,移动便携打印零售单单据小票,轻松实现仓库条码管理,扫码入库出库盘点_哔哩哔哩_bilibili单据小票打印模板自定义设计,手机收银软件 ...

  3. 重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印...

    重复造轮子系列--基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端 ...

  4. 【C#】最全单据打印(打印模板、条形码二维码、字体样式、项目源码)

    系列文章 [C#]编号生成器(定义单号规则.固定字符.流水号.业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/12912978 ...

  5. 票据打印, 账单打印, 标签打印, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印打印,发布,VC++源代码组件库解决方案...

    票据打印, 账单打印, 标签打印, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印打印,发布,VC++源代码组件库解决方案 使用E-Form++源码库开发任何标签,票据,文档,条码 ...

  6. hiprint使用初体验,模板设计经验分享

    在线模板设计地址:http://www.hinnn.com/design 在项目中使用过一两次hiprint,主要是涉及到自定义标签打印功能.之前项目中涉及到标签打印,都是使用c#开发的客户端进行打印 ...

  7. XtraReport通过动态设置打印模板进行标签打印

    如题所述,之前的打印都是通过程序内写好的模板进行打印.但是问题很快就暴露出来了,不同的打印机,不能适应同一个打印模板,有些还需要进行比较大的调整,所以就需要在打印之前,能够对模板上的控件的位置进行一定 ...

  8. 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换

    顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使用自行设计的顺序表ADT或STL中的ve ...

  9. Altium Designer(17.0)原理图模板设计

    Altium Designer(17.0)原理图模板设计 1)打开AD17.0软件,如下图1所示. 图1 打开AD17.0软件 软件主界面 2)执行菜单栏的"File(文件)",& ...

  10. 计算机上做报纸模板,报纸版面模板设计

    可能在平常的报纸上模板不是那么明显,但是像一般的学习报还有新闻报广告报,这些报纸版面模板都是特别明显,模板要选的好,用得的恰到好处才能体现出来报纸的立体性.今天小编主要为大家讲的是报纸版面模板的详细内 ...

最新文章

  1. 关于p标签的嵌套问题
  2. 【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )
  3. 数据库ORA-03113排查
  4. 分析:Java的好处究竟在哪里?
  5. STL六大组件 功能与运用(略写)
  6. 基于钉钉小程序做一个记事本
  7. 【转】What is an entity system framework for game development?
  8. 2023年华南理工大学运筹学与控制论上岸前辈备考经验
  9. 控制算法简析3——LKA中PID控制的error选取
  10. 影响世界的100个管理定律
  11. 【学习体会】泊松表面重建
  12. 代码签名证书有哪些产品
  13. FRM 风险管理基础:复习提纲二
  14. 开发一个属于自己的app
  15. Linux桌面对应的路径
  16. 计算机cpu多大,电脑的cpu频率多少算正常
  17. Spring Boot 实现接口的各种参数校验
  18. 【vijos】1006 晴天小猪历险记之Hill(dijkstra)
  19. JAVA——实现各国中英文名称互译功能的查询程序
  20. Python绘制类激活图曲线(热力曲线)

热门文章

  1. c语言计算机二级涉及内容,计算机二级(C语言)都考哪些内容?
  2. 110kv/35kv变电所无功补偿技术的研究+matlab仿真模型
  3. 幼儿计算机教材有哪些,中华字经幼儿教材
  4. 远程桌面同步本地计算机,微软更新远程桌面应用现在终于可以在本地和远程计算机上复制文件...
  5. Python让AI虚拟主播接入微软Azure语音合成并精准嘴型同步
  6. JSP综合开发实例——清爽夏日九宫格(DIV+CSS布局)
  7. ubuntu查看端口
  8. Android STB 遥控器适配
  9. matlab2009a下载 win7,MATLAB R2009a完美安装及下载
  10. ChinaITLab-Linux工程师培训课程笔记5