想知道,如何使用 JavaPOS 打印存储在 Epson Printer (TM-T88V) 中的 Logo,我使用 Epson Utility 将 logo 图像存储在打印机中。我正在使用 JavaPOS,POS 能够打印收据。我想在顶部打印徽标但没有运气。我试图对 Java 文件进行一些更改。任何帮助都会很棒。我需要添加特定代码还是需要在 jpos.xml 中进行更改。
谢谢
当您需要打印预加载的徽标时,您必须使用带有 PTR_DI_PRINT_FLASH_BITMAP2 const 的 directIO 方法。
示例(32 32 预加载徽标键码):
String myobject = Integer.toString(POSPrinterConst.PTR_BM_CENTER);
int[] data = new int[]{0};
data[0] += 32; // LSB
data[0] += 32 << 16; // MSB
ptr.directIO(EpsonPOSPrinterConst.PTR_DI_PRINT_FLASH_BITMAP2, data, myobject);
对于存储在 NVRAM 中的图像:
// This will print the image stored in position 2
ptr.directIO(EpsonPOSPrinterConst.PTR_DI_PRINT_FLASH_BITMAP, new int[]{2}, Integer.valueOf(POSPrinterConst.PTR_BM_CENTER).toString());
在哪里
或者,可以在运行程序时加载图像
要注册位图,您可以执行以下操作:
POSPrinterControl114 ptr = (POSPrinterControl114)new POSPrinter();
ptr.setBitmap(1, POSPrinterConst.PTR_S_RECEIPT, "/path/to/file.bmp", ptr.getRecLineWidth() / 2), POSPrinterConst.PTR_BM_CENTER);
当你想打印它时:
ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|1B");
如果您想setBitmap
在 NVRAM 中存储图像,您必须更改"UsedNVRAM"
TM-T88V.xml 文件中的属性
<prop name="UsedNVRAM" type="String" value="1"/>
或在 SetupPos 应用程序上标记复选框。一个问题是这种方法不能混合使用,例如,如果您使用 setBitmap 将图像存储到 NVRAM,您将无法使用 directIO 方法打印任何内容
无论如何,我建议您在下载JavaPOS ADK 1.14.18时查看文档文件夹
您需要使用类似于以下内容的内容:
ptr.printBitmap(POSPrinterConst.PTR_S_RECEIPT,YOUR_LOGO_PATH, POSPrinterConst.PTR_BM_ASIS, POSPrinterConst.PTR_BM_CENTER);
它有效吗?