package com.mes.ui; import com.mes.util.ytnetty.QmCurUtil; import com.mes.util.ytnetty.QmResultUtil; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufUtil; import io.netty.buffer.Unpooled; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.PrintQuality; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.print.PageFormat; import java.awt.print.Printable; import java.awt.print.Book; import java.nio.charset.Charset; public class Test2 implements Printable { public int print(Graphics g, PageFormat pf, int page) throws PrinterException { if (page >= 1) { // 只打印一页 return NO_SUCH_PAGE; } else { Graphics2D g2d = (Graphics2D) g; // g2d.translate(100, 100); // 移动原点,以便在页面中心绘制内容(可选) // double scale = 0.1; // 设置缩放比例 // g2d.scale(scale, scale); // 应用缩放比例 g2d.drawString("Hello, World!", 0, 0); // 由于应用了缩放,这里看起来像是正常大小绘制,但实际上是被放大了的。 return PAGE_EXISTS; } } public static void main(String[] args) { try{ String hexString = "435330303335363230323630373036313630313032303030202020202020202020202020202020202020202020202020202020202020303030312E35353331303030323031332E32383030"; // ByteBuf bccbf = Unpooled.wrappedBuffer(str.getBytes("UTF-8")); //// String ss = bccbf.toString(Charset.forName("UTF-8")); // String ss = ByteBufUtil.hexDump(bccbf).toUpperCase(); hexString = "5253302C2D302E33332C302E302C302E302C302E3030"; QmCurUtil qmCurUtil = new QmCurUtil(hexString); System.out.println("qmCurUtil:"+qmCurUtil.toString()); //5253 302C 2D30 2E33332C302E302C302E302C302E3030 hexString = "435330303336313230323630373135313130383439303030202020202020202020202020202020202020202020202020202020202020303939392E39393337303030303135312E39313030"; QmResultUtil qmResultUtil = new QmResultUtil(hexString); System.out.println("qmResultUtil:"+qmResultUtil.toString()); // String hexString = "5253"; // 16进制表示的"Hello" String asciiString = new String(hexStringToByteArray(hexString)); System.out.println(asciiString); // 输出: Hello String input = "008"; StringBuilder hexValues = new StringBuilder(); for (char c : input.toCharArray()) { int asciiValue = (int) c; // 获取ASCII值 String hexValue = Integer.toHexString(asciiValue); // 转换为16进制字符串 if (hexValues.length() > 0) { // 如果不是第一个字符,添加空格分隔 hexValues.append(""); } hexValues.append(hexValue); // 添加到StringBuilder中 } System.out.println("Hex values: " + hexValues.toString()); // System.out.println(ss); }catch (Exception e){ e.printStackTrace(); } } public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16)); } return data; } }