1

想知道,如何使用 JavaPOS 打印存储在 Epson Printer (TM-T88V) 中的 Logo,我使用 Epson Utility 将 logo 图像存储在打印机中。我正在使用 JavaPOS,POS 能够打印收据。我想在顶部打印徽标但没有运气。我试图对 Java 文件进行一些更改。任何帮助都会很棒。我需要添加特定代码还是需要在 jpos.xml 中进行更改。

谢谢

4

3 回答 3

0

当您需要打印预加载的徽标时,您必须使用带有 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);
于 2020-08-19T00:01:54.560 回答
0

对于存储在 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());

在哪里

PTR_DI_PRINT_FLSH_BITMAP

或者,可以在运行程序时加载图像

要注册位图,您可以执行以下操作:

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时查看文档文件夹

于 2021-02-04T12:40:10.617 回答
-2

您需要使用类似于以下内容的内容:

ptr.printBitmap(POSPrinterConst.PTR_S_RECEIPT,YOUR_LOGO_PATH, POSPrinterConst.PTR_BM_ASIS, POSPrinterConst.PTR_BM_CENTER);

它有效吗?

于 2015-04-29T14:34:45.317 回答