首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中如何将变量传递给.prn文件在热敏打印机上打印

java中如何将变量传递给.prn文件在热敏打印机上打印
EN

Stack Overflow用户
提问于 2018-08-22 15:37:04
回答 1查看 1.6K关注 0票数 0

我的需求

我想为实验室管理系统打印条形码标签和一些患者的详细信息。为此,我创建了一个.prn文件,使用ZEBRA TLP2844打印机进行打印。根据图像BARCODE CODE LABEL DESIGN PRINT标签设计PATNAME,AGESEX,WARD都是动态值,如何在java中使用prn文件从数据库中获取这些详细信息并打印出来?

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 16:41:50

我们只需创建PRN文件并添加用大括号括起来的“变量”:{myCode}。

在打印时,我们加载文件,做一个简单的正则表达式匹配,然后我们可以找到所有变量,然后填充数据,然后通过网络将数据发送到打印机,例如:

代码语言:javascript
复制
    Pattern p = Pattern.compile("\\{.*?\\}");
    Matcher m = p.matcher(template);
    StringBuffer result = new StringBuffer();
    while(m.find()) {
        String key = template.substring(m.start() + 1, m.end() - 1);
        String replacement = lookupVariable(key);           
        m.appendReplacement(result, Matcher.quoteReplacement(replacement));
    }
    m.appendTail(result);

其中'template‘是读取到字符串中的PRN文件,其中包含花括号中的变量。函数lookupVariable(String)是用来查找给定变量的实际值的函数(在映射中查找,在数据库中查找,无论在哪里)。最后,您可以使用ByteArrayOutputStream和OutputStreamWriter将所有内容转换为具有正确编码的字节,以便将其发送到打印机。

您还可以使用像Velocity模板这样的模板引擎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51961923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档