当前位置:首页 > 话题广场 > 问答专区 > 科技

小票打印机怎么编辑?终于找到答案了小票打印机的排版:自动换行和列对齐的解决方法

我们点的小程序有这样的功能:客人点餐时,后厨的小票打印机会自动打印小票。

这里小票打印机的排版不像表格那么容易,需要计算每行的字符数,程序通过增加空格来实现排版对齐的目标。

因为中文和英文占位宽度不一,中文占用空间是英文的两倍。因此在处理的时候,需要计算字符的长度后再处理。

常用的小票打印机有两种,分别是58mm 和80mm的,58mm的机器,一行打印16个汉字,32个字母;80mm的机器,一行打印24个汉字,48个字母

废话不多说,我们看一下最终要实现的排版效果图:

看一下打印内容的代码:

String prcontent = "<CB>打印测试</CB><BR>";

prcontent += "名称 单价 数量 金额<BR>";

prcontent += "--------------------------------<BR>";

prcontent += formStr("产品名","10.00","1","10.00");

prcontent += "备注:***<BR>";

prcontent += "--------------------------------<BR>";

prcontent += "合计:11元<BR>";

prcontent += "联系电话:***<BR>";

prcontent += "订餐时间:***<BR>";

上面是一段标准的打印小票的代码,每一行的内容调用方法formStr来格式化(自动换行,列对齐)排版。

/**

* 格式化内容(58mm的机器,一行打印16个汉字,32个字母;80mm的机器,一行打印24个汉字,48个字母)这里按58mm处理的,如果是80的机器可以参考修改

* @param tit 名称 6字母||12英文

* @param fee 单价 6个英文

* @param n 数量 4个英文

* @param total 总计 6个英文

* @return

*/

public String formStr(String tit,String fee,String n,String total){

String ret="";

if(ret==null){

return "";

}

String title=tit;

int strlen=0;

try{

strlen=("GBK").length;

} catch (UnsupportedEncodingException ex) {


}

int tnum=6;

int titlen= tnum*2;//标题12字母

String otherStr =addSpace(fee,6) + addSpace(n,4)+ addSpace(total,6);

if(strlen<=titlen){//不够12列的补齐

ret=padStr(title,titlen)+otherStr+"<BR>";

}else{//超过12列的要换行

int sizes=()-1+ tnum)/ tnum;

for(int m=0;m<sizes;m++){

String childStr = substring(title, m * tnum, (m + 1) * tnum);

if(m==0){//第一行

ret=childStr+otherStr+"<BR>";

}else{

ret+=childStr+"<BR>";

}

}

}

return ret;

}

/**

*字符串截取

*/

public static String substring(String str, int f, int t) {

if (f > ())

return null;

if (t > ()) {

return (f, ());

} else {

return (f, t);

}

}

/**

*英文字符串的处理方法,不够长度补空格

*/

public static String addSpace(String s, int size) {

String str=s;

int len = ();

if (len < size) {

for (int i = 0; i < size - len; i++) {

str += " ";

}

}

return str;

}

/**

*带中、英文字符串的处理方法,中文补两空格,英文补一空格

*/

public String padStr(String s,int n){

String ret="";

String title=s;

int strlen=0;

try{

strlen=("GBK").length;

} catch (UnsupportedEncodingException ex) {


}

if(strlen<=n){//不够列的补齐

int spacenum=n-strlen;

for(int i=1;i<=spacenum;i++){

title+=" ";

}

}

ret=title;

return ret;

}

好了,上面的几个方法可以集成到你的工具类里,使用时直接调用即可。

最后说一下实现原理:

1、定义好每一列的宽度

2、计算每一列字符长度(中文按2倍数)

3、如果不够长,那么调用padStr,addSpace方法,补充空格

4、如果长度超了,那么按指定长度分割成多行,遍历每一行排版

最后看一下点餐小程序:

直接看效果图吧。

门店管理端


前端用户点餐页面

1.《小票打印机怎么编辑?终于找到答案了小票打印机的排版:自动换行和列对齐的解决方法》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《小票打印机怎么编辑?终于找到答案了小票打印机的排版:自动换行和列对齐的解决方法》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3267554.html

上一篇

打印机故障怎么修?我来告诉你答案机器坏了别着急报修 这几种方法亲测有效

下一篇

打印机插头怎么拆卸?总结很全面速看!Epson打印机电源拆解

关于小票打印机怎么编辑打印,你需要知道这些怎么用打印机打印文档?掌握这些技巧,其实很简单

  • 关于小票打印机怎么编辑打印,你需要知道这些怎么用打印机打印文档?掌握这些技巧,其实很简单
  • 关于小票打印机怎么编辑打印,你需要知道这些怎么用打印机打印文档?掌握这些技巧,其实很简单
  • 关于小票打印机怎么编辑打印,你需要知道这些怎么用打印机打印文档?掌握这些技巧,其实很简单

小票打印机怎么编辑?总结很全面速看!小票打印配置

  • 小票打印机怎么编辑?总结很全面速看!小票打印配置
  • 小票打印机怎么编辑?总结很全面速看!小票打印配置
  • 小票打印机怎么编辑?总结很全面速看!小票打印配置
小票打印机怎么编辑?终于找到答案了不会设置打印机?我们教你

小票打印机怎么编辑?终于找到答案了不会设置打印机?我们教你

小票打印机怎么编辑相关介绍,打印质量时好时坏,打印效果不明显,双面设置转换困难吗?预计所有这些常见的打印问题都会出现,只需几个简单的设置步骤,即可调整打印状态并达到所需的打印效果。(大卫亚设)。 操作方法也很简单,让我们一起来学...

小票打印机怎么编辑打印?总结很全面速看!医院扫码订餐——档口小票打印

小票打印机怎么编辑打印?总结很全面速看!医院扫码订餐——档口小票打印

小票打印机怎么编辑打印相关介绍,几个大型三甲医院的餐厅入口比较多,为了提高订单,快速组装,订单会重新汇总到配送员手里。 我们建议使用“总单+分档口”的打印模式。 一、总单:可以打印一份(配送员使用)。可以打印两份(备用,如果是仅仅为...

小票打印机怎么编辑打印?总结很全面速看!Java实战系列-小票打印机格式化打印 docx转pdf打印

小票打印机怎么编辑打印?总结很全面速看!Java实战系列-小票打印机格式化打印 docx转pdf打印

小票打印机怎么编辑打印相关介绍,#软件开发# Java实战系列-项目简介、技术选择、Java ID读卡器 项目正式开始的第二天,不知道项目基本情况的朋友可以参考我之前的一篇文章。 昨天基本完成了身份证读卡器模块的Java调用封装,今...

小票打印机怎么编辑?终于找到答案了浅谈超市自助收银机的操作步骤?

小票打印机怎么编辑?终于找到答案了浅谈超市自助收银机的操作步骤?

小票打印机怎么编辑相关介绍,在这项互联网新零售技术中,可以通过购物、手机、微信、支付宝、扫描支付,但超市也不例外。 可是超市的商品信息比较多,假如商家是初次操作自助收银机不明白如何使用?下边由方派小编给大家解读一下具体的操作流程...

小票打印机怎么编辑打印?我来告诉你答案手把手教你使用Niushop开源商城系统配置小票打印

  • 小票打印机怎么编辑打印?我来告诉你答案手把手教你使用Niushop开源商城系统配置小票打印
  • 小票打印机怎么编辑打印?我来告诉你答案手把手教你使用Niushop开源商城系统配置小票打印
  • 小票打印机怎么编辑打印?我来告诉你答案手把手教你使用Niushop开源商城系统配置小票打印
关于小票打印机怎么编辑,你需要知道这些Java实战系列-小票打印机格式化打印 docx转pdf打印

关于小票打印机怎么编辑,你需要知道这些Java实战系列-小票打印机格式化打印 docx转pdf打印

小票打印机怎么编辑相关介绍,#软件开发# Java实战系列-项目简介、技术选择、Java ID读卡器 项目正式开始的第二天,不知道项目基本情况的朋友可以参考我之前的一篇文章。 昨天基本完成了身份证读卡器模块的Java调用封装,今...