package com.dpkj.modules.autoReplyPrint.service; import org.springframework.web.multipart.MultipartFile; /** * 图片打印服务接口 * * @author 石头人 * @version 1.0 * @since 2025-01-17 11:38:36 */ public interface ImagePrintService { /** * 图片打印 * @param devName 设备名称/usb/tcp/com * @param dstw 要打印的宽度 * @param dsth 要打印的高度 * @param pszFile 图片的路径 * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 */ void imagePrintFromPath(String devName, int dstw, int dsth, String pszFile, int binaryzation_method, int compression_method); /** * 图片打印,内部直接读取转换为byte进行打印 * @param devName 设备名称/usb/tcp/com * @param dstw 要打印的宽度 * @param dsth 要打印的高度 * @param pszFile 图片的路径 * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 */ void imagePrintFromPathData(String devName, int dstw, int dsth, String pszFile, int binaryzation_method, int compression_method); /** * 直接传输数据进行打印 * @param devName 设备名称/usb/tcp/com * @param dstw 要打印的宽度 * @param dsth 要打印的高度 * @param data 图片数据 * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 */ void imagePrintFromData(String devName, int dstw, int dsth, byte[] data, int binaryzation_method, int compression_method); /** * 直接传的MultipartFile文件过来 * @param devName 设备名称/usb/tcp/com * @param dstw 要打印的宽度 * @param dsth 要打印的高度 * @param file 图片数据 * @param binaryzation_method 图片二值化算法。0 表示抖动算法,1 表示阀值算法,2 表示误差扩散法。具体效果请测试查看。 * @param compression_method 最终打印数据的压缩方式,各值定义如下:0 不压缩,1 一级压缩,2 二级压缩。 */ void imagePrintFromMultipartFile(String devName, int dstw, int dsth, MultipartFile file, int binaryzation_method, int compression_method); }