我有一个与Java和热敏打印机通信的应用程序

使用Star tsp 100打印机使热敏打印机以条形码/强调/不同尺寸打印收据等.

我可以让程序打印出我喜欢的东西,但打印机很慢.我相信原因是我使用非优选的方式/方法发送字节命令.

public static void Command(byte[] bytes) throws Exception{

//The bytes array is the argument, consisting of a byte[] array such as

//byte[] Emphasis = {0x1B, 0x45}; //Which gives the text boldness.

//And Command(Emphasis); To execute the command with this method.

DocPrintJob job = PrintServiceLookup.lookupDefaultPrintService().createPrintJob();

DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;

Doc doc = new SimpleDoc(bytes, flavor, null);

job.print(doc, null);

}

当我想打印一个字符串我使用这种方法.

public void PrintString(String s) throws Exception{

DocPrintJob job = PrintServiceLookup.lookupDefaultPrintService().createPrintJob();

System.out.println(job + "

DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;

byte[] b = s.getBytes("CP437");

Doc doc = new SimpleDoc(b, flavor, null);

job.print(doc, null);

}

因此,只要文本具有相同的样式,我就会使用此方法打印大量字符串(等等不需要其他命令).所以打印收据的代码看起来有点像这样.

PrintClass P = new PrintClass();

String Greating = "Hello";

P.Command(P.Emphasis);

P.Command(P.DoubleSize);

P.Command(P.Underline);

P.PrintString(Greating);

P.Command(P.CancelEmphasis);

P.Command(P.ResetSize);

P.Command(P.CancelUnderline);

String body = GenerateReceiptBody();

P.PrintString(body);

P.Command(P.Halfsize);

String footer = Constants.getFooter();

P.PrintString(footer);

P.Command(P.Cut);

收据按照我想要的方式打印,但这是一个非常缓慢的过程.

在发送POS / ESC命令时,我绝不是专家.然而,我觉得必须有一个更好/更快的方法来做到这一点,因为许多应用程序可以打印不同大小/条形码/样式/徽标的收据,而不需要花费10-20秒.

当收据打印机到达收据的主要部分或“正文”,其中所有东西都具有相同的尺寸/样式然后它很快就会进入,这让我相信这对我来说很慢的原因是因为我正在创建/执行如此多的个人“打印工作”.

那么有没有更快的方式将ESC / POS命令作为字节命令发送到Thermal打印机?在这种情况下,热敏打印机是Star tsp 100,但我不认为这对答案有任何影响.

任何答案都将非常感激.如果这是一个简单的问题,我很抱歉,因为我仍然在学习如何编码.

java esc的_如何用Java中的Receipt打印机和ESC / POS命令提高速度相关推荐

  1. java 网络爬虫_如何用Java实现网络爬虫

    原标题:如何用Java实现网络爬虫 微信公众号"书圈"后台回复[Javapachong1],下载本例的PPT和源码 作品描述 本章作品是一个能够抓取指定网站ACM比赛信息的爬虫.A ...

  2. java 判断手机号_如何用java判断手机号运营商?

    如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...

  3. java html提取_如何用JAVA从HTML源代码中提取有用的文本信息?

    如将连接中的流读取出来方法:/** * 将网页上的数据流转成字符串 * * @param url * @return * @throws IOError */ public String getSou ...

  4. python java 爬数据_如何用java爬虫爬取网页上的数据

    当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作.最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急 ...

  5. java 字符串 加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法62616964757a686964616fe4b893e5b19e31333363376462,实例如下: package test; import ...

  6. java编写正则表达式_如何用Java编写最快的表达式评估器之一

    java编写正则表达式 当然,标题有点吸引人,但确实如此(您当然不相信自己没有伪造自己的基准,但这是另一回事了). 因此,上周我正在寻找一个小型且可用的库来评估数学表达式. 我几乎直接偶然发现了这个s ...

  7. java用户输入_如何用Java获取用户输入?

    您可以根据需求使用下列任意选项.import java.util.Scanner; Scanner scan = new Scanner(System.in);String s = scan.next ...

  8. java画五角星_如何用Java程序写出五角星?

    展开全部 第一种,用图形 import java.awt.*; import javax.swing.*; public class WuJiaoXing extends JPanel { priva ...

  9. java 字符串加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法,实例如62616964757a686964616fe59b9ee7ad9431333337616636下: package test; import ...

最新文章

  1. 第 5 章 第二个 activity
  2. 实时监控Cat之旅~配置Cat集群需要注意的问题
  3. python转cython_Cython 0.23 发布 Python 的 C 语言扩展
  4. 安装docx模块出现Import Error: No module named 'exceptions'的解决方案
  5. HDU1010 Tempter of the Bone DFS+剪枝
  6. .NET Windows服务开发流程
  7. nekohtml资料
  8. 2021-04-02
  9. java小游戏程序的编写
  10. 世界杯直播背后看不见的战斗
  11. 多媒体技术计算机系统由组成,多媒体技术概述及多媒体计算机系统的组成
  12. 感恩节特辑丨这个世界有无限可能
  13. java jwt登录_图解JWT如何用于单点登录
  14. 免费美食网页设计成品
  15. Excel查找字符串下标(findsearch)
  16. OpenGL(可编程管线):Bezier曲面
  17. WWW 2022 | 量化交易相关论文(附论文链接)
  18. C语言中符号表示什么意思?举例说明
  19. 苹果新品发布会汇总:iphone13系列、ipad mini6,全新外观配色,加量减价
  20. 【vulnhub】Raven2

热门文章

  1. Java 实现图片合成
  2. STM32 寄存器库和固件库
  3. 【学神】1-16 网络管理相关命令
  4. Apache CXF实战之七 使用Web Service传输文件
  5. 深挖android low memory killer
  6. zabbix生产环境案例(三)
  7. 吴裕雄--天生自然 高等数学学习:两类曲线积分之间的联系
  8. 比较有意思的老家见闻一二三
  9. GB-T 16260.1-2006 软件工程 产品质量
  10. HoloLens开发手记 - 使用混合现实捕捉 Using mixed reality capture