Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
com.power4j.kit:esc-pos-printing
已经实现的功能
ESC/POS
指令编码(支持文本、二维码、图片行打)打印功能已经在串口热敏打印机上测试,蓝牙、局域网打印因为没有设备,打印效果未知,欢迎有条件的老哥测试。
备注
一般情况下,打印模版并不会频繁改变,因此不需要开发可视化的模版制作功能,由技术人员完成模版调试即可
如果需要用到的模版较多,可能需要开发模版管理功能,方便上传、更新打印模版。
maven 坐标
<dependency>
<groupId>com.power4j.kit</groupId>
<artifactId>esc-pos</artifactId>
<version>最新版本</version>
</dependency>
// json是事先定义好的打印模版
Doc doc = DocProcessor.parseFromJson(jsonStr);
// hexCmd 为打印指令,16进制格式,一般厂商会提供测试工具,粘贴进去就能打印
// 也可以通过网络或者蓝牙传输打印指令
String hexCmd = DocProcessor.getCmdEncoder().encodeHex(doc);
例子 : 见 DefaultCmdEncoderTest
一个模版文档Doc
由若干行组成,格式如下
{
"charsetName": "GB2312",
"opt": {},
"lines": []
}
charsetName
字符集
opt
默认文本格式
lines
数组类型,需要打印的行
文档以行的方式定义其打印内容,格式如下
{
"type": "text",
"data": "hello",
"opt": {}
}
type
表示类型,有三种
text
文本bmp
位图qrc
二维码feed
控制指令,走纸cut
控制指令,切纸data
需要打印的数据,不同的类型有不同的要求
opt
打印选项,用于设置打印格式等,不同的类型,支持不同的选项,见后面打印格式说明。需要设置格式时传入,否则使用默认格式。
Feed
): 控制打印机走纸Cut
): 控制打印机切纸,支持全切和部分切纸通用格式作用于任何的类型的行。
属性名称 | 属性值 | 备注 |
---|---|---|
align | left,center,right | 左、中、右 |
属性名称 | 属性值 | 备注 |
---|---|---|
fontHeight | 1,2,3,4,5,6,7,8 | 字体高度,以倍数表示 |
fontWidth | 1,2,3,4,5,6,7,8 | 字体宽度,以倍数表示 |
fontType | a,b,c | 打印机提供的三种字体 |
underline | none,one-dot,two-dot | 下划线类型 |
lineSpacing | 数字 | 行距 |
bold | true,false | 加粗 |
color | white,black | 颜色模式,white 表示白底黑字,black 表示黑底白字 |
一个文本行的例子
{
"type": "text",
"data": "凭 条",
"opt": {
"fontHeight": "3",
"fontWidth": "3",
"bold": "true",
"align": "center",
"underline": "none"
}
}
QrModel
): 可选择打印机内置二维码模型QrEccLevel
): 4种纠错等级属性名称 | 属性值 | 备注 |
---|---|---|
model | m1,m2 | 类型 |
level | l,m,q,h | 纠错等级 |
size | 数值 | 二维码的大小 |
一个二维码行的例子
{
"type": "qrc",
"data": "12345678",
"opt": {
"size": "10",
"align": "center"
}
}
BmpModel
): 位图在打印机缓存中的存储模式属性名称 | 属性值 | 备注 |
---|---|---|
model | m0,m1,m32,m33 | 分别表示:8点单密度、8点双密度、24点单密度、24点双密度 |
一个二维码行的例子
{
"type": "bmp",
"data": "此处填写base64图片数据",
"opt": {
"size": "10",
"model": "m33"
}
}
FAQs
Java library for ESC/POS printing.
We found that com.power4j.kit:esc-pos-printing demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.