From 5e66fb8c3f58a67b0f700f4e66d2d43047522602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=A4=B4=E4=BA=BA?= <3076767823@qq.com> Date: Wed, 15 Jan 2025 16:26:33 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=AE=8C=E5=96=84AutoReplyPrint?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E6=8E=A5=E5=8F=A3=E6=B3=A8=E9=87=8A=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autoReplyPrint/utils/AutoReplyPrint.java | 1619 ++++++++++++++--- 1 file changed, 1367 insertions(+), 252 deletions(-) diff --git a/src/main/java/com/dpkj/modules/autoReplyPrint/utils/AutoReplyPrint.java b/src/main/java/com/dpkj/modules/autoReplyPrint/utils/AutoReplyPrint.java index 8cdac63..dde381a 100644 --- a/src/main/java/com/dpkj/modules/autoReplyPrint/utils/AutoReplyPrint.java +++ b/src/main/java/com/dpkj/modules/autoReplyPrint/utils/AutoReplyPrint.java @@ -365,7 +365,7 @@ public interface AutoReplyPrint extends Library { * @param timeout 读取超时毫秒 * @return 返回读取的字节数,-1 表示失败 */ - int CP_Port_Read(Pointer handle, byte[] buffer, int count, int timeout); + int CP_Port_Read(Pointer vahandler1, byte[] buffer, int count, int timeout); /** * 从端口接收数据直到指定字节 @@ -457,257 +457,1372 @@ public interface AutoReplyPrint extends Library { */ boolean CP_Port_AddOnPortWrittenEvent(CP_OnPortWrittenEvent_Callback event, Pointer private_data); - boolean CP_Port_AddOnPortReceivedEvent(CP_OnPortReceivedEvent_Callback var1, Pointer var2); - - boolean CP_Port_RemoveOnPortOpenedEvent(CP_OnPortOpenedEvent_Callback var1); - - boolean CP_Port_RemoveOnPortOpenFailedEvent(CP_OnPortOpenFailedEvent_Callback var1); - - boolean CP_Port_RemoveOnPortClosedEvent(CP_OnPortClosedEvent_Callback var1); - - boolean CP_Port_RemoveOnPortWrittenEvent(CP_OnPortWrittenEvent_Callback var1); - - boolean CP_Port_RemoveOnPortReceivedEvent(CP_OnPortReceivedEvent_Callback var1); - - boolean CP_Printer_AddOnPrinterStatusEvent(CP_OnPrinterStatusEvent_Callback var1, Pointer var2); - - boolean CP_Printer_AddOnPrinterReceivedEvent(CP_OnPrinterReceivedEvent_Callback var1, Pointer var2); - - boolean CP_Printer_AddOnPrinterPrintedEvent(CP_OnPrinterPrintedEvent_Callback var1, Pointer var2); - - boolean CP_Printer_RemoveOnPrinterStatusEvent(CP_OnPrinterStatusEvent_Callback var1); - - boolean CP_Printer_RemoveOnPrinterReceivedEvent(CP_OnPrinterReceivedEvent_Callback var1); - - boolean CP_Printer_RemoveOnPrinterPrintedEvent(CP_OnPrinterPrintedEvent_Callback var1); - - boolean CP_Printer_GetPrinterResolutionInfo(Pointer var1, IntByReference var2, IntByReference var3, IntByReference var4); - - boolean CP_Printer_GetPrinterFirmwareVersion(Pointer var1, byte[] var2, int var3, IntByReference var4); - - boolean CP_Printer_GetPrinterStatusInfo(Pointer var1, LongByReference var2, LongByReference var3, LongByReference var4); - - boolean CP_Printer_GetPrinterReceivedInfo(Pointer var1, IntByReference var2, LongByReference var3); - - boolean CP_Printer_GetPrinterPrintedInfo(Pointer var1, IntByReference var2, LongByReference var3); - - boolean CP_Printer_GetPrinterLabelPositionAdjustmentInfo(Pointer var1, DoubleByReference var2, DoubleByReference var3, LongByReference var4); - - boolean CP_Printer_SetPrinterLabelPositionAdjustmentInfo(Pointer var1, double var2, double var4); - - boolean CP_Printer_ClearPrinterBuffer(Pointer var1); - - boolean CP_Printer_ClearPrinterError(Pointer var1); - - int CP_Pos_QueryRTStatus(Pointer var1, int var2); - - boolean CP_Pos_QueryPrintResult(Pointer var1, int var2); - - boolean CP_Pos_KickOutDrawer(Pointer var1, int var2, int var3, int var4); - - boolean CP_Pos_Beep(Pointer var1, int var2, int var3); - - boolean CP_Pos_FeedAndHalfCutPaper(Pointer var1); - - boolean CP_Pos_FullCutPaper(Pointer var1); - - boolean CP_Pos_HalfCutPaper(Pointer var1); - - boolean CP_Pos_FeedLine(Pointer var1, int var2); - - boolean CP_Pos_FeedDot(Pointer var1, int var2); - - boolean CP_Pos_PrintSelfTestPage(Pointer var1); - - boolean CP_Pos_PrintText(Pointer var1, String var2); - - boolean CP_Pos_PrintTextInUTF8(Pointer var1, WString var2); - - boolean CP_Pos_PrintTextInGBK(Pointer var1, WString var2); - - boolean CP_Pos_PrintTextInBIG5(Pointer var1, WString var2); - - boolean CP_Pos_PrintTextInShiftJIS(Pointer var1, WString var2); - - boolean CP_Pos_PrintTextInEUCKR(Pointer var1, WString var2); - - boolean CP_Pos_PrintBarcode(Pointer var1, int var2, String var3); - - boolean CP_Pos_PrintBarcode_Code128Auto(Pointer var1, String var2); - - boolean CP_Pos_PrintQRCode(Pointer var1, int var2, int var3, String var4); - - boolean CP_Pos_PrintQRCodeUseEpsonCmd(Pointer var1, int var2, int var3, String var4); - - boolean CP_Pos_PrintDoubleQRCode(Pointer var1, int var2, int var3, int var4, int var5, String var6, int var7, int var8, int var9, String var10); - - boolean CP_Pos_PrintPDF417BarcodeUseEpsonCmd(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7, String var8); - - boolean CP_Pos_PrintRasterImageFromFile(Pointer var1, int var2, int var3, String var4, int var5, int var6); - - boolean CP_Pos_PrintRasterImageFromData(Pointer var1, int var2, int var3, byte[] var4, int var5, int var6, int var7); - - boolean CP_Pos_PrintRasterImageFromPixels(Pointer var1, byte[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9); - - boolean CP_Pos_PrintHorizontalLine(Pointer var1, int var2, int var3); - - boolean CP_Pos_PrintHorizontalLineSpecifyThickness(Pointer var1, int var2, int var3, int var4); - - boolean CP_Pos_PrintMultipleHorizontalLinesAtOneRow(Pointer var1, int var2, int[] var3, int[] var4); - - boolean CP_Pos_ResetPrinter(Pointer var1); - - boolean CP_Pos_SetPrintSpeed(Pointer var1, int var2); - - boolean CP_Pos_SetPrintDensity(Pointer var1, int var2); - - boolean CP_Pos_SetSingleByteMode(Pointer var1); - - boolean CP_Pos_SetCharacterSet(Pointer var1, int var2); - - boolean CP_Pos_SetCharacterCodepage(Pointer var1, int var2); - - boolean CP_Pos_SetMultiByteMode(Pointer var1); - - boolean CP_Pos_SetMultiByteEncoding(Pointer var1, int var2); - - boolean CP_Pos_SetMovementUnit(Pointer var1, int var2, int var3); - - boolean CP_Pos_SetPrintAreaLeftMargin(Pointer var1, int var2); - - boolean CP_Pos_SetPrintAreaWidth(Pointer var1, int var2); - - boolean CP_Pos_SetHorizontalAbsolutePrintPosition(Pointer var1, int var2); - - boolean CP_Pos_SetHorizontalRelativePrintPosition(Pointer var1, int var2); - - boolean CP_Pos_SetVerticalAbsolutePrintPosition(Pointer var1, int var2); - - boolean CP_Pos_SetVerticalRelativePrintPosition(Pointer var1, int var2); - - boolean CP_Pos_SetAlignment(Pointer var1, int var2); - - boolean CP_Pos_SetTextScale(Pointer var1, int var2, int var3); - - boolean CP_Pos_SetAsciiTextFontType(Pointer var1, int var2); - - boolean CP_Pos_SetTextBold(Pointer var1, int var2); - - boolean CP_Pos_SetTextUnderline(Pointer var1, int var2); - - boolean CP_Pos_SetTextUpsideDown(Pointer var1, int var2); - - boolean CP_Pos_SetTextWhiteOnBlack(Pointer var1, int var2); - - boolean CP_Pos_SetTextRotate(Pointer var1, int var2); - - boolean CP_Pos_SetTextLineHeight(Pointer var1, int var2); - - boolean CP_Pos_SetAsciiTextCharRightSpacing(Pointer var1, int var2); - - boolean CP_Pos_SetKanjiTextCharSpacing(Pointer var1, int var2, int var3); - - boolean CP_Pos_SetBarcodeUnitWidth(Pointer var1, int var2); - - boolean CP_Pos_SetBarcodeHeight(Pointer var1, int var2); - - boolean CP_Pos_SetBarcodeReadableTextFontType(Pointer var1, int var2); - - boolean CP_Pos_SetBarcodeReadableTextPosition(Pointer var1, int var2); - - boolean CP_Page_SelectPageMode(Pointer var1); - - boolean CP_Page_SelectPageModeEx(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7); - - boolean CP_Page_ExitPageMode(Pointer var1); - - boolean CP_Page_PrintPage(Pointer var1); - - boolean CP_Page_ClearPage(Pointer var1); - - boolean CP_Page_SetPageArea(Pointer var1, int var2, int var3, int var4, int var5); - - boolean CP_Page_SetPageDrawDirection(Pointer var1, int var2); - - boolean CP_Page_DrawRect(Pointer var1, int var2, int var3, int var4, int var5, int var6); - - boolean CP_Page_DrawBox(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7); - - boolean CP_Page_DrawText(Pointer var1, int var2, int var3, String var4); - - boolean CP_Page_DrawTextInUTF8(Pointer var1, int var2, int var3, WString var4); - - boolean CP_Page_DrawTextInGBK(Pointer var1, int var2, int var3, WString var4); - - boolean CP_Page_DrawTextInBIG5(Pointer var1, int var2, int var3, WString var4); - - boolean CP_Page_DrawTextInShiftJIS(Pointer var1, int var2, int var3, WString var4); - - boolean CP_Page_DrawTextInEUCKR(Pointer var1, int var2, int var3, WString var4); - - boolean CP_Page_DrawBarcode(Pointer var1, int var2, int var3, int var4, String var5); - - boolean CP_Page_DrawQRCode(Pointer var1, int var2, int var3, int var4, int var5, String var6); - - boolean CP_Page_DrawRasterImageFromFile(Pointer var1, int var2, int var3, int var4, int var5, String var6, int var7); - - boolean CP_Page_DrawRasterImageFromData(Pointer var1, int var2, int var3, int var4, int var5, byte[] var6, int var7, int var8); - - boolean CP_Page_DrawRasterImageFromPixels(Pointer var1, int var2, int var3, byte[] var4, int var5, int var6, int var7, int var8, int var9, int var10); - - boolean CP_BlackMark_EnableBlackMarkMode(Pointer var1); - - boolean CP_BlackMark_DisableBlackMarkMode(Pointer var1); - - boolean CP_BlackMark_SetBlackMarkMaxFindLength(Pointer var1, int var2); - - boolean CP_BlackMark_FindNextBlackMark(Pointer var1); - - boolean CP_BlackMark_SetBlackMarkPaperPrintPosition(Pointer var1, int var2); - - boolean CP_BlackMark_SetBlackMarkPaperCutPosition(Pointer var1, int var2); - - boolean CP_BlackMark_FullCutBlackMarkPaper(Pointer var1); - - boolean CP_BlackMark_HalfCutBlackMarkPaper(Pointer var1); - - boolean CP_Label_EnableLabelMode(Pointer var1); - - boolean CP_Label_DisableLabelMode(Pointer var1); - - boolean CP_Label_CalibrateLabel(Pointer var1); - - boolean CP_Label_FeedLabel(Pointer var1); - - boolean CP_Label_PageBegin(Pointer var1, int var2, int var3, int var4, int var5, int var6); - - boolean CP_Label_PagePrint(Pointer var1, int var2); - - boolean CP_Label_DrawText(Pointer var1, int var2, int var3, int var4, int var5, String var6); - - boolean CP_Label_DrawTextInUTF8(Pointer var1, int var2, int var3, int var4, int var5, WString var6); - - boolean CP_Label_DrawTextInGBK(Pointer var1, int var2, int var3, int var4, int var5, WString var6); - - boolean CP_Label_DrawBarcode(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, String var9); - - boolean CP_Label_DrawQRCode(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7, String var8); - - boolean CP_Label_DrawPDF417Code(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, String var9); - - boolean CP_Label_DrawImageFromFile(Pointer var1, int var2, int var3, int var4, int var5, String var6, int var7, int var8); - - boolean CP_Label_DrawImageFromData(Pointer var1, int var2, int var3, int var4, int var5, byte[] var6, int var7, int var8, int var9); - - boolean CP_Label_DrawImageFromPixels(Pointer var1, int var2, int var3, byte[] var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11); - - boolean CP_Label_DrawLine(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7); - - boolean CP_Label_DrawRect(Pointer var1, int var2, int var3, int var4, int var5, int var6); - - boolean CP_Label_DrawBox(Pointer var1, int var2, int var3, int var4, int var5, int var6, int var7); - - int CP_Proto_QueryBatteryLevel(Pointer var1, int var2); + /** + * 添加回调接口,端口收到数据 + * + * @param event 回调接口 + * @param private_data 传给回调接口的参数 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Port_AddOnPortReceivedEvent(CP_OnPortReceivedEvent_Callback event, Pointer private_data); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Port_RemoveOnPortOpenedEvent(CP_OnPortOpenedEvent_Callback event); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Port_RemoveOnPortOpenFailedEvent(CP_OnPortOpenFailedEvent_Callback event); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Port_RemoveOnPortClosedEvent(CP_OnPortClosedEvent_Callback event); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Port_RemoveOnPortWrittenEvent(CP_OnPortWrittenEvent_Callback event); + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Port_RemoveOnPortReceivedEvent(CP_OnPortReceivedEvent_Callback event); + + /** + * 添加回调接口,打印机状态更新 + * + * @param event 回调接口 + * @param private_data 传给回调接口的参数 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_AddOnPrinterStatusEvent(CP_OnPrinterStatusEvent_Callback event, Pointer private_data); + + /** + * 添加回调接口,打印机已接收字节数更新 + * + * @param event 回调接口 + * @param private_data 传给回调接口的参数 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_AddOnPrinterReceivedEvent(CP_OnPrinterReceivedEvent_Callback event, Pointer private_data); + + /** + * 添加回调接口,打印机已打印页面 ID 更新 + * + * @param event 回调接口 + * @param private_data 传给回调接口的参数 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_AddOnPrinterPrintedEvent(CP_OnPrinterPrintedEvent_Callback event, Pointer private_data); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_RemoveOnPrinterStatusEvent(CP_OnPrinterStatusEvent_Callback event); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_RemoveOnPrinterReceivedEvent(CP_OnPrinterReceivedEvent_Callback event); + + /** + * 移除回调接口 + * + * @param event 回调接口 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_RemoveOnPrinterPrintedEvent(CP_OnPrinterPrintedEvent_Callback event); + /** + * 获取打印机分辨率信息 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param width_mm 标签最大宽度 + * @param height_mm 标签最大高度 + * @param dots_per_mm 每毫米打印点数 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_GetPrinterResolutionInfo(Pointer handle, IntByReference width_mm, IntByReference height_mm, IntByReference dots_per_mm); + + /** + * 获取打印机固件版本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param pBuf 缓冲区 + * @param cbBuf 缓冲区字节数 + * @param pcbNeeded 需要的缓冲区字节数 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_GetPrinterFirmwareVersion(Pointer handle, byte[] pBuf, int cbBuf, IntByReference pcbNeeded); + + /** + * 获取打印机自动回传的状态 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param printer_error_status 打印机错误状态 + * @param printer_info_status 打印机信息状态 + * @param timestamp_ms 时间戳 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_GetPrinterStatusInfo(Pointer handle, LongByReference printer_error_status, LongByReference printer_info_status, LongByReference timestamp_ms); + + /** + * 获取打印机已接收字节数 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param printer_received_byte_count 打印机已接收字节数 + * @param timestamp_ms 时间戳 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_GetPrinterReceivedInfo(Pointer handle, IntByReference printer_received_byte_count, LongByReference timestamp_ms); + + /** + * 获取打印机已打印的单据号 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param printer_printed_page_id 打印机已打印的单据号 + * @param timestamp_ms 时间戳 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_GetPrinterPrintedInfo(Pointer handle, IntByReference printer_printed_page_id, LongByReference timestamp_ms); + + /** + * 获取打印机标签位置微调信息 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param label_print_position_adjustment 打印机标签打印位置微调 + * @param label_tear_position_adjustment 打印机标签撕纸位置微调 + * @param timestamp_ms 时间戳 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_GetPrinterLabelPositionAdjustmentInfo(Pointer handle, DoubleByReference label_print_position_adjustment, DoubleByReference label_tear_position_adjustment, LongByReference timestamp_ms); + + /** + * 设置标签打印位置和撕纸位置微调 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param label_print_position_adjustment 标签打印位置微调 mm(微调不超过±4mm) + * @param label_tear_position_adjustment 标签撕纸位置微调 mm(微调不超过±4mm) + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Printer_SetPrinterLabelPositionAdjustmentInfo(Pointer handle, double label_print_position_adjustment, double label_tear_position_adjustment); + + /** + * 实时清除打印机缓存 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_ClearPrinterBuffer(Pointer handle); + + /** + * 实时清除打印机错误 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 成功返回 true,失败返回 false。 + */ + boolean CP_Printer_ClearPrinterError(Pointer handle); + + /** + * 查询打印机实时状态 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param timeout 超时毫秒时间。查询等待时间不超过此时间。 + * @return 返回值仅指示指令是否成功。成功返回实时状态,失败返回 0。 + * 详细状态请查看 CP_RTSTATUS_XXX,如果状态定义与实际机型不符,以实测为准。 + */ + int CP_Pos_QueryRTStatus(Pointer handle, int timeout); + + /** + * 查询前面内容的打印结果 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param timeout 超时毫秒时间。查询打印结果等待时间不超过此时间。 + * @return 返回值仅指示指令是否打印成功。返回 true 表示打印成功,返回 false 表示打印失败或查询失败。 + */ + boolean CP_Pos_QueryPrintResult(Pointer handle, int timeout); + + /** + * 开钱箱(产生钱箱脉冲) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nDrawerIndex 钱箱编号,各值说明如下:0 钱箱引脚 2,1 钱箱引脚 5 + * @param nHighLevelTime 高电平毫秒时间 + * @param nLowLevelTime 低电平毫秒时间 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_KickOutDrawer(Pointer handle, int nDrawerIndex, int nHighLevelTime, int nLowLevelTime); + + /** + * 蜂鸣器鸣叫 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nBeepCount 鸣叫次数 + * @param nBeepMs 蜂鸣毫秒时间,取值范围[100,900]。取整到百毫秒。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_Beep(Pointer handle, int nBeepCount, int nBeepMs); + + /** + * 走纸到切刀位置并半切纸 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_FeedAndHalfCutPaper(Pointer handle); + + /** + * 切刀全切 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_FullCutPaper(Pointer handle); + + /** + * 切刀半切 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_HalfCutPaper(Pointer handle); + + /** + * 打印机进纸指定行数 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param numLines 要进的行数 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_FeedLine(Pointer handle, int numLines); + + /** + * 打印机进纸指定点数 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param numDots 要进的点数 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_FeedDot(Pointer handle, int numDots); + + /** + * 打印机打印自检页 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintSelfTestPage(Pointer handle); + + /** + * 打印文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintText(Pointer handle, String str); + + /** + * 打印文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 UTF8 编码发送。 + */ + boolean CP_Pos_PrintTextInUTF8(Pointer handle, WString str); + + /** + * 打印文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 GBK 编码发送。 + */ + boolean CP_Pos_PrintTextInGBK(Pointer handle, WString str); + + /** + * 打印文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 BIG5 编码发送。 + */ + boolean CP_Pos_PrintTextInBIG5(Pointer handle, WString str); + + /** + * 打印文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 ShiftJIS 编码发送。 + */ + boolean CP_Pos_PrintTextInShiftJIS(Pointer handle, WString str); + + /** + * 打印文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 EUCKR 编码发送。 + */ + boolean CP_Pos_PrintTextInEUCKR(Pointer handle, WString str); + + /** + * 打印一维条码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nBarcodeType 标识条码类型 + * @param str 要打印的条码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintBarcode(Pointer handle, int nBarcodeType, String str); + + /** + * 打印 CODE128 条码,该函数自动切换编码,以便节省空间 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param str 要打印的条码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintBarcode_Code128Auto(Pointer handle, String str); + + /** + * 打印 QR 码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nVersion 指定字符版本。取值范围:[0,16]。 + * @param nECCLevel 指定纠错等级。取值范围:[1, 4]。 + * @param str 要打印的 QR 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintQRCode(Pointer handle, int nVersion, int nECCLevel, String str); + + /** + * 打印 QR 码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nQRCodeUnitWidth QRCode 码码块宽度,取值范围:[1, 16]。 + * @param nECCLevel 指定纠错等级。取值范围:[1, 4]。 + * @param str 要打印的 QR 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintQRCodeUseEpsonCmd(Pointer handle, int nQRCodeUnitWidth, int nECCLevel, String str); + + /** + * 打印两个 QR 码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nQRCodeUnitWidth QRCode 码码块宽度,取值范围:[1, 8]。 + * @param nQR1Position QRCode 位置 + * @param nQR1Version 指定字符版本。取值范围:[0,16]。 + * @param nQR1ECCLevel 指定纠错等级。取值范围:[1, 4]。 + * @param strQR1 要打印的 QR 码 + * @param nQR2Position QRCode 位置 + * @param nQR2Version 指定字符版本。取值范围:[0,16]。 + * @param nQR2ECCLevel 指定纠错等级。取值范围:[1, 4]。 + * @param strQR2 要打印的 QR 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintDoubleQRCode(Pointer handle, int nQRCodeUnitWidth, int nQR1Position, int nQR1Version, int nQR1ECCLevel, String strQR1, int nQR2Position, int nQR2Version, int nQR2ECCLevel, String strQR2); + + /** + * 打印 PDF417 条码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param columnCount 列数,取值范围[0,30] + * @param rowCount 行数,取值范围 0,[3,90] + * @param unitWidth 模块单元宽度,取值范围[2,8] + * @param rowHeight 行高,取值范围[2,8] + * @param nECCLevel 指定纠错等级。取值范围:[0,8]。 + * @param dataProcessingMode 数据处理模式。0 选择标准 PDF417,1 选择截断 PDF417。 + * @param str 要打印的 PDF417 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintPDF417BarcodeUseEpsonCmd(Pointer handle, int columnCount, int rowCount, int unitWidth, int rowHeight, int nECCLevel, int dataProcessingMode, String str); + + /** + * 打印图片 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param dstw 要打印的宽度 + * @param dsth 要打印的高度 + * @param pszFile 图片的路径 + * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 + * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintRasterImageFromFile(Pointer handle, int dstw, int dsth, String pszFile, int binaryzation_method, int compression_method); + + /** + * 打印图片(图片可由文件读取) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param dstw 要打印的宽度 + * @param dsth 要打印的高度 + * @param data 图片数据。 + * @param data_size 图片数据长度 + * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 + * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintRasterImageFromData(Pointer handle, int dstw, int dsth, byte[] data, int data_size, int binaryzation_method, int compression_method); + + /** + * 打印图片像素数据 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param img_data 图片的像素数据。 + * @param img_datalen 图片的像素数据字节数。 + * @param img_width 图片的像素宽度。 + * @param img_height 图片的像素高度。 + * @param img_stride 图片水平跨度。表示每行字节数。 + * @param img_format 图片像素数据格式,各值定义如下:1 mono,2 monolsb,3 gray,4 r.g.b in byte-ordered,5 b.g.r in byte-ordered,6 a.r.g.b in byte-ordered,7 r.g.b.a in byte-ordered,8 a.b.g.r in byte-ordered,9 b.g.r.a in byte-ordered。 + * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 + * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintRasterImageFromPixels(Pointer handle, byte[] img_data, int img_datalen, int img_width, int img_height, int img_stride, int img_format, int binaryzation_method, int compression_method); + + /** + * 打印一条水平线 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nLineStartPosition 线段起点位置 + * @param nLineEndPosition 线段终点位置 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintHorizontalLine(Pointer handle, int nLineStartPosition, int nLineEndPosition); + + /** + * 打印一条水平线 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nLineStartPosition 线段起点位置 + * @param nLineEndPosition 线段终点位置 + * @param nLineThickness 线段粗细 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintHorizontalLineSpecifyThickness(Pointer handle, int nLineStartPosition, int nLineEndPosition, int nLineThickness); + + /** + * 同一行上打印多条水平线,连续调用可打印曲线 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nLineCount 线段条数 + * @param pLineStartPosition 线段起点位置 + * @param pLineEndPosition 线段终点位置 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_PrintMultipleHorizontalLinesAtOneRow(Pointer handle, int nLineCount, int[] pLineStartPosition, int[] pLineEndPosition); + + /** + * 复位打印机,清除设置 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_ResetPrinter(Pointer handle); + + /** + * 设置打印速度(部分机型支持) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nSpeed 打印速度,单位毫米每秒 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetPrintSpeed(Pointer handle, int nSpeed); + + /** + * 设置打印浓度(部分机型支持) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nDensity 设置打印浓度[0,15] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetPrintDensity(Pointer handle, int nDensity); + + /** + * 设置打印机为单字节编码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetSingleByteMode(Pointer handle); + + /** + * 设置打印机字符集 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nCharacterSet 打印机字符集,范围[0,15] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetCharacterSet(Pointer handle, int nCharacterSet); + + /** + * 设置字符代码页 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nCharacterCodepage 字符代码页,范围[0,255] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetCharacterCodepage(Pointer handle, int nCharacterCodepage); + + /** + * 设置打印机为多字节编码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetMultiByteMode(Pointer handle); + + /** + * 设置打印机多字节编码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nEncoding 多字节编码,各值定义如下: + * 值 定义 + * 0 GBK + * 1 UTF8 + * 3 BIG5 + * 4 SHIFT-JIS + * 5 EUC-KR + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetMultiByteEncoding(Pointer handle, int nEncoding); + + /** + * 设置打印移动单位 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nHorizontalMovementUnit 水平移动单位 + * @param nVerticalMovementUnit 垂直移动单位 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 移动单位设置为 200,则 1mm=8 点。 + */ + boolean CP_Pos_SetMovementUnit(Pointer handle, int nHorizontalMovementUnit, int nVerticalMovementUnit); + + /** + * 设置打印区域左边空白 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nLeftMargin 左边空白 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetPrintAreaLeftMargin(Pointer handle, int nLeftMargin); + + /** + * 设置打印区域宽度 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nWidth 打印区域宽度 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetPrintAreaWidth(Pointer handle, int nWidth); + + /** + * 设置横向绝对打印位置 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nPosition 打印位置 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetHorizontalAbsolutePrintPosition(Pointer handle, int nPosition); + + /** + * 设置横向相对打印位置 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nPosition 打印位置 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetHorizontalRelativePrintPosition(Pointer handle, int nPosition); + + /** + * 设置纵向绝对打印位置,仅在页模式下有效。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nPosition 打印位置 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetVerticalAbsolutePrintPosition(Pointer handle, int nPosition); + + /** + * 设置纵向相对打印位置,仅在页模式下有效。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nPosition 打印位置 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetVerticalRelativePrintPosition(Pointer handle, int nPosition); + + /** + * 设置打印对齐方式 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nAlignment 打印对齐方式,各值定义如下: + * 值 定义 + * 0 左对齐 + * 1 中对齐 + * 2 右对齐 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetAlignment(Pointer handle, int nAlignment); + + /** + * 设置文本放大倍数 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nWidthScale 宽度放大倍数 + * @param nHeightScale 高度放大倍数 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextScale(Pointer handle, int nWidthScale, int nHeightScale); + + /** + * 设置英文字符字体类型 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nFontType 英文字符字体类型,各值定义如下: + * 值 定义 + * 0 字型 A(12x24) + * 1 字型 B(9x17) + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetAsciiTextFontType(Pointer handle, int nFontType); + + /** + * 设置文本加粗打印 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nBold 是否加粗,各值定义如下: + * 值 定义 + * 0 不加粗 + * 1 加粗 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextBold(Pointer handle, int nBold); + + /** + * 设置文本下划线 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nUnderline 文本下划线,各值定义如下: + * 值 定义 + * 0 无下划线 + * 1 1 点下划线 + * 2 2 点下划线 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextUnderline(Pointer handle, int nUnderline); + + /** + * 设置文本倒置打印 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nUpsideDown 倒置打印,各值定义如下: + * 值 定义 + * 0 不倒置打印 + * 1 倒置打印 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextUpsideDown(Pointer handle, int nUpsideDown); + + /** + * 设置黑白反显 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nWhiteOnBlack 黑白反显,各值定义如下: + * 值 定义 + * 0 不黑白反显 + * 1 黑白反显 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextWhiteOnBlack(Pointer handle, int nWhiteOnBlack); + + /** + * 设置文本旋转 90 度打印 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nRotate 旋转打印,各值定义如下: + * 值 定义 + * 0 不旋转打印 + * 1 旋转 90 度打印 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextRotate(Pointer handle, int nRotate); + + /** + * 设置行高 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nLineHeight 行高,范围[1,255] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetTextLineHeight(Pointer handle, int nLineHeight); + + /** + * 设置 ASCII 字符右边空白 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nSpacing 右边空白,范围[1,255] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetAsciiTextCharRightSpacing(Pointer handle, int nSpacing); + + /** + * 设置汉字文本字符左边空白和右边空白 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nLeftSpacing 左边空白,范围[1,255] + * @param nRightSpacing 右边空白,范围[1,255] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetKanjiTextCharSpacing(Pointer handle, int nLeftSpacing, int nRightSpacing); + + /** + * 设置条码和二维码单元宽度 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nBarcodeUnitWidth 条码单元宽度,取值范围:[1,6] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetBarcodeUnitWidth(Pointer handle, int nBarcodeUnitWidth); + + /** + * 设置条码高度 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nBarcodeHeight 定义条码高度。取值范围:[1,255] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetBarcodeHeight(Pointer handle, int nBarcodeHeight); + + /** + * 设置条码可读字符字体类型 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nFontType 指定可读字符的字体类型,各值定义如下: + * 值 类型 + * 0 标准 ASCII + * 1 压缩 ASCII + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetBarcodeReadableTextFontType(Pointer handle, int nFontType); + + /** + * 设置条码可读字符打印位置 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nTextPosition 条码可读字符位置,取值范围:[0, 3]。 + * 各值定义如下: + * 值 定义 + * 0 不显示可读字符 + * 1 在条码下方显示可读字符 + * 2 在条码上方显示可读字符 + * 3 在条码上方和条码下方显示可读字符 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Pos_SetBarcodeReadableTextPosition(Pointer handle, int nTextPosition); + + /** + * 选择页模式 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_SelectPageMode(Pointer handle); + + /** + * 选择页模式,并设置移动单位和页面大小,还会设置其他一系列参数为默认值 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nHorizontalMovementUnit 水平移动单位 + * @param nVerticalMovementUnit 垂直移动单位 + * @param x 横向起始位置 + * @param y 纵向起始位置 + * @param width 打印区域宽度 + * @param height 打印区域高度 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_SelectPageModeEx(Pointer handle, int nHorizontalMovementUnit, int nVerticalMovementUnit, int x, int y, int width, int height); + + /** + * 退出页模式并回到标准模式 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_ExitPageMode(Pointer handle); + + /** + * 页模式下打印内容 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_PrintPage(Pointer handle); + + /** + * 页模式下清除页面 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_ClearPage(Pointer handle); + + /** + * 页模式下设置页区域,页面最高 2000 点(1mm=8点) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向起始位置 + * @param y 纵向起始位置 + * @param width 打印区域宽度 + * @param height 打印区域高度 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_SetPageArea(Pointer handle, int x, int y, int width, int height); + + /** + * 页模式下设置打印方向 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param nDirection 打印区域方向,各值定义如下: + * 0 从左到右 + * 1 从下到上 + * 2 从右到左 + * 3 从上到下 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_SetPageDrawDirection(Pointer handle, int nDirection); + + /** + * 页模式下画矩形 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param width 矩形宽度 + * @param height 矩形高度 + * @param color 矩形颜色,0 是白色,1 是黑色 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawRect(Pointer handle, int x, int y, int width, int height, int color); + + /** + * 页模式下画矩形框 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param width 矩形框宽度 + * @param height 矩形框高度 + * @param borderwidth 矩形框边框宽度 + * @param bordercolor 矩形框边框颜色,0 是白色,1 是黑色 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawBox(Pointer handle, int x, int y, int width, int height, int borderwidth, int bordercolor); + + /** + * 页模式下画文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawText(Pointer handle, int x, int y, String str); + + /** + * 页模式下画文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 UTF8 编码发送。 + */ + boolean CP_Page_DrawTextInUTF8(Pointer handle, int x, int y, WString str); + + /** + * 页模式下画文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 GBK 编码发送。 + */ + boolean CP_Page_DrawTextInGBK(Pointer handle, int x, int y, WString str); + + /** + * 页模式下画文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 BIG5 编码发送。 + */ + boolean CP_Page_DrawTextInBIG5(Pointer handle, int x, int y, WString str); + + /** + * 页模式下画文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 ShiftJIS 编码发送。 + */ + boolean CP_Page_DrawTextInShiftJIS(Pointer handle, int x, int y, WString str); + + /** + * 页模式下画文本 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 EUCKR 编码发送。 + */ + boolean CP_Page_DrawTextInEUCKR(Pointer handle, int x, int y, WString str); + + /** + * 页模式下打印一维条码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param nBarcodeType 标识条码类型,各值定义如下: + * 值 类型 + * 0x41 UPC-A + * 0x42 UPC-E + * 0x43 EAN13 + * 0x44 EAN8 + * 0x45 CODE39 + * 0x46 ITF + * 0x47 CODABAR + * 0x48 CODE93 + * 0x49 CODE128 + * @param str 要打印的条码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawBarcode(Pointer handle, int x, int y, int nBarcodeType, String str); + + /** + * 页模式下打印 QR 码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param nVersion 指定字符版本。取值范围:[0,16]。当 version 为 0 时,打印机根据字符串长度自动计算版本号。 + * @param nECCLevel 指定纠错等级。取值范围:[1, 4]。各值定义如下: + * ECC 纠错等级 + * 1 L:7%,低纠错,数据多。 + * 2 M:15%,中纠错 + * 3 Q:优化纠错 + * 4 H:30%,最高纠错,数据少。 + * @param str 要打印的 QR 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawQRCode(Pointer handle, int x, int y, int nVersion, int nECCLevel, String str); + + /** + * 页模式下打印图片 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param dstw 要打印的宽度 + * @param dsth 要打印的高度 + * @param pszFile 图片的路径 + * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawRasterImageFromFile(Pointer handle, int x, int y, int dstw, int dsth, String pszFile, int binaryzation_method); + + /** + * 页模式下打印图片(图片可由文件读取) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param dstw 要打印的宽度 + * @param dsth 要打印的高度 + * @param data 图片数据。 + * @param data_size 图片数据长度 + * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawRasterImageFromData(Pointer handle, int x, int y, int dstw, int dsth, byte[] data, int data_size, int binaryzation_method); + + /** + * 页模式下打印图片像素数据 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param img_data 图片的像素数据。 + * @param img_datalen 图片的像素数据字节数。 + * @param img_width 图片的像素宽度。 + * @param img_height 图片的像素高度。 + * @param img_stride 图片水平跨度。表示每行字节数。 + * @param img_format 图片像素数据格式,各值定义如下 + * 值 定义 + * 1 mono + * 2 monolsb + * 3 gray + * 4 r.g.b in byte-ordered + * 5 b.g.r in byte-ordered + * 6 a.r.g.b in byte-ordered + * 7 r.g.b.a in byte-ordered + * 8 a.b.g.r in byte-ordered + * 9 b.g.r.a in byte-ordered + * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Page_DrawRasterImageFromPixels(Pointer handle, int x, int y, byte[] img_data, int img_datalen, int img_width, int img_height, int img_stride, int img_format, int binaryzation_method); + + /** + * 启用黑标模式,重启打印机生效 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_EnableBlackMarkMode(Pointer handle); + + /** + * 禁用黑标模式 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_DisableBlackMarkMode(Pointer handle); + + /** + * 设置黑标最大查找距离(重启仍有效) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param maxFindLength 最大查找距离(maxFindLength x 0.125 毫米) + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_SetBlackMarkMaxFindLength(Pointer handle, int maxFindLength); + + /** + * 查找下一个黑标 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_FindNextBlackMark(Pointer handle); + + /** + * 黑标模式下,设置起始打印位置的调整值 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param position 大于 0 则指定为进纸,小于 0 则指定为退纸。距离为 position x 0.125 毫米。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_SetBlackMarkPaperPrintPosition(Pointer handle, int position); + + /** + * 黑标模式下,设置切纸位置 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param position 大于 0 则指定为进纸,小于 0 则指定为退纸。距离为 position x 0.125 毫米。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_SetBlackMarkPaperCutPosition(Pointer handle, int position); + + /** + * 切刀全切 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_FullCutBlackMarkPaper(Pointer handle); + + /** + * 切刀半切 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_BlackMark_HalfCutBlackMarkPaper(Pointer handle); + + /** + * 启用标签模式 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_EnableLabelMode(Pointer handle); + + /** + * 关闭标签模式 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DisableLabelMode(Pointer handle); + + /** + * 校准标签纸(更换不同规格标签纸,需要校准) + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_CalibrateLabel(Pointer handle); + + /** + * 走纸到标签缝隙处 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_FeedLabel(Pointer handle); + + /** + * 指示一个标签页面的开始,并设置标签页的大小,参考点坐标和页面旋转角度 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 页面起始点 x 坐标 + * @param y 页面起始点 y 坐标 + * @param width 页面页宽 + * @param height 页面页高 + * @param rotation 页面旋转。取值范围为{0,1}。为 0,页面不旋转打印,为 1,页面旋转 90 度打印。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_PageBegin(Pointer handle, int x, int y, int width, int height, int rotation); + + /** + * 将标签页上的内容打印到标签纸上 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param copies 份数 [ 1 - 255 ] + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_PagePrint(Pointer handle, int copies); + + /** + * 在标签页面上指定位置绘制文本。只能单行打印。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 定义文本起始位置 x 坐标,取值范围:[0, Page_Width-1] + * @param y 定义文本起始位置 y 坐标,取值范围:[0, Page_Height-1] + * @param font 选择字体,可以使用 24。带矢量字机型支持 16,[20,99]。 + * @param style 字符风格。 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawText(Pointer handle, int x, int y, int font, int style, String str); + + /** + * 在标签页面上指定位置绘制文本。只能单行打印。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 定义文本起始位置 x 坐标,取值范围:[0, Page_Width-1] + * @param y 定义文本起始位置 y 坐标,取值范围:[0, Page_Height-1] + * @param font 选择字体,可以使用 24。带矢量字机型支持 16,[20,99]。 + * @param style 字符风格。 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 UTF8 编码发送。 + */ + boolean CP_Label_DrawTextInUTF8(Pointer handle, int x, int y, int font, int style, WString str); + + /** + * 在标签页面上指定位置绘制文本。只能单行打印。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 定义文本起始位置 x 坐标,取值范围:[0, Page_Width-1] + * @param y 定义文本起始位置 y 坐标,取值范围:[0, Page_Height-1] + * @param font 选择字体,可以使用 24。带矢量字机型支持 16,[20,99]。 + * @param style 字符风格。 + * @param str 要打印的字符串 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + * 该函数会将数据转为 GBK 编码发送。 + */ + boolean CP_Label_DrawTextInGBK(Pointer handle, int x, int y, int font, int style, WString str); + + /** + * 在标签页指定位置绘制一维条码。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 条码左上角 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param y 条码左上角 y 坐标值,取值范围:[0, Page_Height-1]。 + * @param nBarcodeType 标识条码类型 + * @param nBarcodeTextPrintPosition 条码可读字符位置,取值范围:[0, 3]。 + * @param height 定义条码高度。 + * @param unitwidth 定义码块单元宽度。取值范围:[1, 4]。 + * @param rotation 表示旋转角度。取值范围:[0, 3]。 + * @param str 要打印的条码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawBarcode(Pointer handle, int x, int y, int nBarcodeType, int nBarcodeTextPrintPosition, int height, int unitwidth, int rotation, String str); + + /** + * 在标签页指定位置绘制 QR 码。 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 左上角 x 坐标值,取值范围:[0,Page_Width-1]。 + * @param y 左上角 y 坐标值,取值范围:[0, Page_Height-1]。 + * @param nVersion 指定字符版本。取值范围:[0,16]。 + * @param nECCLevel 指定纠错等级。取值范围:[1, 4]。 + * @param unitwidth 定义码块单元宽度。取值范围:[1, 4]。 + * @param rotation 表示旋转角度。取值范围:[0, 3]。 + * @param str 要打印的 QR 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawQRCode(Pointer handle, int x, int y, int nVersion, int nECCLevel, int unitwidth, int rotation, String str); + + /** + * 在标签页指定位置绘制 PDF417 条码 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 左上角 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param y 左上角 y 坐标值,取值范围:[0, Page_Height-1]。 + * @param column ColNum 为列数,表述每行容纳多少码字。 + * @param nAspectRatio 指定纵横比。 + * @param nECCLevel 指定纠错等级。取值范围:[0, 8]。 + * @param unitwidth 定义码块单元宽度。取值范围:[1, 3]。 + * @param rotation 表示旋转角度。取值范围:[0, 3]。 + * @param str 要打印的 PDF417 码 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawPDF417Code(Pointer handle, int x, int y, int column, int nAspectRatio, int nECCLevel, int unitwidth, int rotation, String str); + + /** + * 在标签页指定位置绘制位图 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 左上角 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param y 左上角 y 坐标值,取值范围:[0, Page_Height-1]。 + * @param dstw 要打印的宽度 + * @param dsth 要打印的高度 + * @param pszFile 图片的路径 + * @param binaryzation_method 图片二值化算法。 + * @param compression_method 最终打印数据的压缩方式。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawImageFromFile(Pointer handle, int x, int y, int dstw, int dsth, String pszFile, int binaryzation_method, int compression_method); + + /** + * 在标签页指定位置绘制位图 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 左上角 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param y 左上角 y 坐标值,取值范围:[0, Page_Height-1]。 + * @param dstw 要打印的宽度 + * @param dsth 要打印的高度 + * @param data 图片数据。 + * @param data_size 图片数据长度 + * @param binaryzation_method 图片二值化算法。 + * @param compression_method 最终打印数据的压缩方式。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawImageFromData(Pointer handle, int x, int y, int dstw, int dsth, byte[] data, int data_size, int binaryzation_method, int compression_method); + + /** + * 在标签页指定位置绘制位图 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 左上角 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param y 左上角 y 坐标值,取值范围:[0, Page_Height-1]。 + * @param img_data 图片的像素数据。 + * @param img_datalen 图片的像素数据字节数。 + * @param img_width 图片的像素宽度。 + * @param img_height 图片的像素高度。 + * @param img_stride 图片水平跨度。表示每行字节数。 + * @param binaryzation_method 图片二值化算法。 + * @param compression_method 最终打印数据的压缩方式。 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawImageFromPixels(Pointer handle, int x, int y, byte[] img_data, int img_datalen, int img_width, int img_height, int img_stride, int binaryzation_method, int compression_method); + + /** + * 在标签页指定位置绘制线段 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param startx 直线段起始点 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param starty 直线段起始点 y 坐标值,取值范围:[0,Page_Height-1]。 + * @param endx 直线段终止点 x 坐标值,取值范围:[0, Page_Width-1]。 + * @param endy 直线段终止点 y 坐标值,取值范围:[0,Page_Height-1]。 + * @param linewidth 直线段线宽,取值范围:[1,Page_Height-1]。 + * @param linecolor 直线段颜色线条颜色,0 是白色,1 是黑色 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawLine(Pointer handle, int startx, int starty, int endx, int endy, int linewidth, int linecolor); + + /** + * 在标签页指定位置绘制矩形 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param width 矩形宽度 + * @param height 矩形高度 + * @param color 矩形颜色,0 是白色,1 是黑色 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawRect(Pointer handle, int x, int y, int width, int height, int color); + + /** + * 在标签页指定位置绘制矩形框 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param x 横向坐标 + * @param y 纵向坐标 + * @param width 矩形框宽度 + * @param height 矩形框高度 + * @param borderwidth 矩形框边框宽度 + * @param bordercolor 矩形框边框颜色,0 是白色,1 是黑色 + * @return 返回值仅指示指令是否写入成功。返回 true 表示写入成功,返回 false 表示写入失败。 + */ + boolean CP_Label_DrawBox(Pointer handle, int x, int y, int width, int height, int borderwidth, int bordercolor); + + /** + * 查询电池电量 + * 仅部分带电池的机型支持该指令 + * + * @param handle 端口句柄,由 OpenXXX 返回 + * @param timeout 超时毫秒时间。查询等待时间不超过此时间。 + * @return 返回电池电量,范围在 0-100 之间。返回 -1 表示查询失败。 + */ + int CP_Proto_QueryBatteryLevel(Pointer handle, int timeout); public static class CP_Label_DrawImageFromData_Helper { public CP_Label_DrawImageFromData_Helper() {