Epson epos sdk收据对齐问题

2023-12-08

我目前正在使用适用于 Android 的 epson ePOS SDK。 我需要打印收据,菜单名称在同一行中左对齐,价格右对齐,但它无法正常工作, 我的临时解决方案是添加一些提要行以使其价格正确对齐,是否可以使文本在同一行中左右对齐? (以下附件,请忽略问号符号)

                mPrinter.addTextAlign(Printer.ALIGN_LEFT);
                mPrinter.addFeedLine(0);
                textData.append(menuName);
                mPrinter.addText(textData.toString());
                textData.delete(0, textData.length());
                mPrinter.addFeedLine(0);

                //print price
                mPrinter.addTextAlign(Printer.ALIGN_RIGHT);
                textData.append(price + "Y" + "\n");
                mPrinter.addText(textData.toString());
                textData.delete(0, textData.length());
                mPrinter.addFeedLine(0);

enter image description here


80mm 就像每行 42 列......可以轻松填充:

mPrinter.addText(padLine(menuName, price + "¥", 42) + "\n");

所需String操纵方法看起来很相似:

/** utility: pads two strings to columns per line */
protected String padLine(@Nullable String partOne, @Nullable String partTwo, int columnsPerLine){
    if(partOne == null) {partOne = "";}
    if(partTwo == null) {partTwo = "";}
    String concat;
    if((partOne.length() + partTwo.length()) > columnsPerLine) {
        concat = partOne + " " + partTwo;
    } else {
        int padding = columnsPerLine - (partOne.length() + partTwo.length());
        concat = partOne + repeat(" ", padding) + partTwo;
    }
    return concat;
}

/** utility: string repeat */
protected String repeat(String str, int i){
    return new String(new char[i]).replace("\0", str);
}

在填充之前,应将价格格式化为货币。

使其真正“完美无缺”……当String concat超过长度42, then String partOne应该被多余的长度截断 - 并再次连接。超过int columnsPerLine很可能会弄乱输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Epson epos sdk收据对齐问题 的相关文章

  • 使用 Nginx 时缺少 HTTP 状态代码名称

    我正在使用 Nginx 将所有 HTTP 请求重定向到 HTTPS 在我的 Spring Boot 应用程序中 这是我正在使用的 nginx 配置 通过它我可以将所有请求重定向到 Https 但是当我这样做时 我得到了状态码返回正确 但没有
  • 如何避免 Java 中的忙旋转

    我有一个多线程应用程序 其中一个线程向另一个线程发送消息 等待线程轮询消息并做出反应 处理锁 像这样 等待线程代码 while true if helloArrived System out println Got hello if bye
  • 如何让 HttpClient 返回状态码和响应正文?

    我试图让 Apache HttpClient 触发 HTTP 请求 然后显示 HTTP 响应代码 200 404 500 等 以及 HTTP 响应正文 文本字符串 重要的是要注意我正在使用v4 2 2因为大多数 HttpClient 示例都
  • 竞争性编码 - 以最低成本清除所有级别:未通过所有测试用例

    当我遇到这个问题时 我正在一个竞争性编码网站上解决问题 问题指出 游戏中有 N 个关卡和 M 种可用武器 等级编号从 0 到 N 1 武器编号从 0 到 M 1 您可以按任意顺序清除这些级别 在每个关卡中 需要这些 M 武器的某些子集才能通
  • Tomcat - 多个 webapps 文件夹

    是否可以有多个文件夹来放置要部署的应用程序 这些是如何定义的 是否可以将一个文件夹限制为仅是 domain com 的应用程序 而不是其他域 Thanks 看一眼conf server xml
  • 处理 ANTLR 4 中的错误

    遵循后接受的答案 https stackoverflow com a 18137301 2279200的指示处理 ANTLR4 中的错误 https stackoverflow com q 18132078 2279200问题 我遇到了以下
  • Android 反向地理编码不适用于华为设备

    我正在尝试通过这段代码反转地理编码纬度 经度 Geocoder geocoder new Geocoder context Locale ENGLISH try List
  • Spring Boot 多部分文件始终为 null

    我正在使用 Spring Boot version 1 4 0 RC1 和 Spring Boot Stormpath 1 0 2 我正在尝试使用分段文件上传 但控制器中的 MultipartFile 始终为空 当我使用 RequestPa
  • 在 JavaFX 中更改 ListView 字体大小

    我想知道如何更改 JavaFx 中的列表视图项目文本字体大小 每行文本的大小会有所不同 我尝试使用细胞因子属性 但我不知道如何使用它 有人可以帮我吗 类似的问题在这里 如何更改JavaFX中ListView的字体大小 https stack
  • 如何找到 Oracle 数据库的 URL?

    如何找到 Oracle 数据库的 URL 和端口 Example jdbc oracle thin host port dbName 用户名 密码 是否有我可以查看的 SQL 命令或日志 配置文件 对于甲骨文来说 有一个tnsnames o
  • 如何使用键盘上的“删除”按钮作为从 JTable 中删除行的快捷方式[重复]

    这个问题在这里已经有答案了 可能的重复 如何制作删除按钮来删除JTable中的行 https stackoverflow com questions 13236206 how to make delete button to delete
  • Elasticsearch NodeBuilder 与 TransportClient

    对于其他 Elasticsearch 开发人员来说 这可能是一个非常简单 而且愚蠢 的问题 这两者之间有什么区别 我正在从 Java Web 应用程序连接到远程 Elasticsearch 服务器 到目前为止我一直在使用 Transport
  • iText7 将 SVG 添加到 PdfDocument 中以及可能出现的问题

    关于问题的答案 如何使用 iText7 将 SVG 添加到 PDF 这是一个链接点击这里 https stackoverflow com questions 50059456 how to add an svg to a pdf using
  • 如何在不同的班级中启动和停止计时器?

    我想测量从传入 HTTP 请求开始到应用程序到达某个点的时间 这两个时间点都位于不同的类中 我将如何启动和停止这些不同类别的计时器 我没有看到使用 MeterRegistry 中的 命名 计时器的方法 我该怎么办呢 您可以使用 AOP 如下
  • Wildfly 10.1 消耗所有核心

    我们最近将银行应用程序从 java 1 6 升级到 1 8 将 jboss 4 x 升级到 wildfly 10 1 我们观察到 java 消耗了机器上可用的所有核心 10 有人可以告诉是什么原因吗 通常情况下 jboss 4 x 的最大
  • 通过 ssh 发送命令并读取输出结果

    我有代码通过 ssh 连接到远程服务器并向其发送 2 个或更多命令 例如 cd export home ops bin和 viewlinkload time 20131205 19 但我没有看到命令执行 也没有收到结果 我需要获取服务器返回
  • 如何从 jenkins 的现有项目生成 .hpi 插件

    我正在尝试使用 jenkins 的性能插件 但最新版本存在一些问题 如链接中所述 https issues jenkins ci org browse JENKINS 27100 https issues jenkins ci org br
  • Jackson 的 ObjectMapper 和 SQL 中的 RowMapper

    我们正在使用对象映射器 当将 ObjectMapper 与 RowMapper 一起使用时 是否应该在每个 mapRow 内部 如下所示 声明它 还是在 mapRow 外部声明为类公共成员 我认为根据本文 它应该作为公共类成员在外部 我应该
  • 混合语言源目录布局

    我们正在运行一个使用多种不同语言的大型项目 Java Python PHP SQL 和 Perl 到目前为止 人们一直在自己的私有存储库中工作 但现在我们希望将整个项目合并到一个存储库中 现在的问题是 目录结构应该是什么样的 我们应该为每种
  • 将 JSON 发送到 Spring MVC 控制器

    我正在尝试将 JSON 发送到 Spring MVC 控制器 在 Spring MVC 方面 一切都配置正确 下面是代码 但似乎没有运行

随机推荐

  • 在《哈姆雷特》中使用 UTCTime

    我在我的第一个网站上使用 Yesod 并且有一个新闻列表 NewsItem date UTCTime default CURRENT TIME title String content String author String 在我的处理程
  • 如何在 Rust 中将值推入 2D Vec?

    这是一个非常简单的 2D 尝试Vec 我正在尝试将一个元素添加到顶层的最后一个条目Vec fn main let mut vec 2d vec vec if let Some v vec 2d last v push 1 println v
  • JSP 单选按钮值

    我想知道如何获取单选按钮的值 假设我有一个带有两个单选按钮的表单 我想获取与按钮关联的值 但是 当我尝试这样做时 我得到了 null 表格部分
  • js函数从url获取文件名

    我有一个像这样的网址http www example com blah th html 我需要一个 javascript 函数来给我其中的 th 值 我的所有网址都具有相同的格式 2 个字母的文件名 扩展名为 html 我希望它是一个安全的
  • VBA - 比较 2 张纸上的表格的差异

    我是 VBA 新手 正在寻求编写子程序或代码的帮助 该子程序或代码可以比较 2 个不同工作表上两个表的同一列 B 并将它们合并到第一个工作表上的单个表中 我已经研究过如何做到这一点 并且对于使用范围或联合作为解决方案感到非常困惑 我希望它找
  • 必须声明标量变量

    当我尝试在应用程序中执行以下非查询 sql 命令时 我总是收到错误消息 必须声明标量变量 RateID 我有点不明白为什么会收到这个错误 这是我的代码 string sqlText INSERT INTO tblRates RateID I
  • 如何使用delphi 2010 rtti设置数组长度

    如何在运行时设置数组长度 setLength t GetProperty 属性 3 unit Unit3 interface uses Windows Messages SysUtils Variants Classes Graphics
  • 订购 Pyspark Window 时缺少数据

    这是我当前的数据集 from pyspark sql import Window import pyspark sql functions as psf df spark createDataFrame 2 1 1 3 2 2 schema
  • next() 和 list() 中的每一个都以不同的方式迭代具有可变对象的生成器

    def generator dct for i in range 3 dct a i yield dct g generator a None next g gt a 0 next g gt a 1 next g gt a 2 g gene
  • 如何从 BeautifulSoup get text 方法中去除换行符

    抓取网页后我有以下输出 text Out 50 nAbsolute FreeBSD 2nd Edition n nAbsolute OpenBSD 2nd Edition n nAndroid Security Internals n nA
  • 如何使用 MVVM 从 BackgroundWorker 内部更新 ObservableCollection?

    这两天我正在尝试解决以下问题 我有一个 WPF 控件 其中 WrapPanel 绑定到 ObservableCollection 操作会更改 ObservableCollection 的内容 内容加载到BackgroundWorker 中
  • 用于升级外部主板的 Android 应用程序

    背景 我们创建了一个 Android 应用程序 目前通过蓝牙连接与外部主板进行通信 该板依次发出命令以不同的速度运行一个或多个电机 该应用程序是为海洋行业的特定任务而构建的 我们的目标是增强该应用程序 以便 Android 移动用户 将来
  • 在 Windows 上的 Matlab 中使用 getframe

    I used the code which I asked about here but added in the final loop the ani ii getframe and after the loop movie2avi an
  • 致命错误 LNK1158:无法运行“mt.exe”

    我知道问题编译 VS 2012 C 项目时出现致命错误 无法运行 mt exe 但我对那里的答案不满意 我将我的 Visual Studio 项目从 VS2010 转换为 VS2012 但是当我编译我的解决方案时 我收到 致命错误 LNK1
  • 编写C#插件系统

    我正在尝试编写一个插件系统 为我的应用程序提供一些可扩展性 以便有人可以为该应用程序编写插件 而无需触及主应用程序的代码 并有破坏某些内容的风险 我已经编写了基本的 IPlugin 接口 atm 尚未实现任何内容 这是我的加载方式 publ
  • 如何在上传文件时添加进度条

    我正在将文件传输到网址 我可以成功完成 但我不知道如何获取已上传文件的进度 我需要获取某些数字的进度 fileTransfer upload file path api endpoint options data then data gt
  • 捕获没有文本框的键盘输入

    我有一个应用程序 可以从健康卡中读取数据并解析它们以获取出生日期 健康卡 和姓名等基本信息 现在 我有一个文本框 可以从刷卡器中获取输入 效果很好 但我觉得可能有更好的方法 我希望在应用程序的后台有一个键盘侦听器 它可以捕获刷卡器的输入并解
  • Crystal Reports - 计数公式

    我正在 Crystal 中开发一份报告 我需要对具有几种不同状态的特定字段进行计数 例如 我的报告中有一个 StatusType 字段 其中包含的值是 In Process Rejected On Hold or Submitted 我希望
  • 如何检查是否给出了参数?

    Checks if an argument was specified if argv 1 strcpy Buff1 argv 1 else strcpy Buff1 default 如果我运行 program test 增益1 测试 如果
  • Epson epos sdk收据对齐问题

    我目前正在使用适用于 Android 的 epson ePOS SDK 我需要打印收据 菜单名称在同一行中左对齐 价格右对齐 但它无法正常工作 我的临时解决方案是添加一些提要行以使其价格正确对齐 是否可以使文本在同一行中左右对齐 以下附件