termalprint_impl.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef LIBFRAMEWORK_THERM_IMPL_H
  2. #define LIBFRAMEWORK_THERM_IMPL_H
  3. #include "ThermalPrintClass.h"
  4. class ThermalPrintClassImpl : public ThermalPrintClass
  5. {
  6. public:
  7. ThermalPrintClassImpl();
  8. ~ThermalPrintClassImpl();
  9. //DeviceBaseClass
  10. ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory);
  11. ErrorCodeEnum Reset();
  12. ErrorCodeEnum DevClose();
  13. ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo);
  14. // 打开打印机
  15. virtual ErrorCodeEnum DevOpen(BYTE btPort, DWORD dwBaudRate)
  16. {
  17. ErrorCodeEnum err = Error_Succeed;
  18. return err;
  19. }
  20. // 获取打印机实时状态
  21. virtual ErrorCodeEnum GetDevState(ThermalState& devState)
  22. {
  23. return Error_NotImpl;
  24. }
  25. //开始打印初始设置:paperWidth一般为80mm和57mm
  26. virtual ErrorCodeEnum BeginPrint(ThermalPaperType eType, int paperWidth)
  27. {
  28. return Error_NotImpl;
  29. }
  30. //打印控制指令函数:主要是打印,切纸和控制打印光标指令函数
  31. //第三个参数是预留参数 暂时无用到
  32. virtual ErrorCodeEnum ControlAction(PrintAction eAction, DWORD dwValue1, DWORD dwValue2 = 0)
  33. {
  34. return Error_NotImpl;
  35. }
  36. //打印参数指令函数:
  37. //第三个参数是预留参数 暂时无用到
  38. virtual ErrorCodeEnum SetParam(CommandType eType, DWORD dwValue1, DWORD dwValue2 = 0)
  39. {
  40. return Error_NotImpl;
  41. }
  42. //打印字体指令函数:主要是字体相关饿指令函数
  43. //第三个参数是预留参数 设置FONT_CUSTOM_SIZE用到,dwValue1表示宽,dwValue2表示长
  44. // 设置FONT_LEFT_RIGHT_SPACE用到 dwValue1表示左边距 dwValue2表示右边距
  45. virtual ErrorCodeEnum SetFont(FontStyle eType, DWORD dwValue1, DWORD dwValue2 = 0)
  46. {
  47. return Error_NotImpl;
  48. }
  49. //打印文本数据函数
  50. virtual ErrorCodeEnum PrintText(BYTE* pData, DWORD dwDataLen)
  51. {
  52. return Error_NotImpl;
  53. }
  54. //打印条形码函数
  55. //dwUnitWidth 条形码基本模块宽度 取值{2..6} 默认2
  56. //dwHeight 条形码高度 单位mm
  57. //iHRIPosition hri字符打印位置 见枚举类型HriPosition
  58. virtual ErrorCodeEnum PrintBarCode(BarCodeType eType, BYTE* pData,
  59. DWORD dwDataLen, DWORD dwUnitWidth,
  60. DWORD dwHeight, HriPosition eHRIPosition)
  61. {
  62. return Error_NotImpl;
  63. }
  64. //打印二维码QRCode函数
  65. //dwUnitWidth 二维码基本元素宽度 取值{1..255} 默认3
  66. virtual ErrorCodeEnum PrintQRCode(BYTE* pData, DWORD dwDataLen, DWORD dwUnitWidth)
  67. {
  68. return Error_NotImpl;
  69. }
  70. //打印二维码QRCode函数
  71. //dwWidth 二维码长度 ,单位mm
  72. virtual ErrorCodeEnum PrintQRCodeByArea(BYTE* pData, DWORD dwDataLen, DWORD dwUnitWidth, DWORD dwWidth)
  73. {
  74. return Error_NotImpl;
  75. }
  76. //打印二维码PDF417函数
  77. //errorLevel pdf417纠错级别 取值{0..8}
  78. //dwUnitWidth 基本元素宽度 取值{3..90}
  79. //dwUnitHeight 基本元素长度 取值{1..30}
  80. //row pdf417 行数 取值{1..7}
  81. //lines pdf417 列数 取值{2..25}
  82. virtual ErrorCodeEnum PrintPDF417code(BYTE* pData, DWORD dwDataLen, int errorLevel,
  83. DWORD dwUnitWidth, DWORD dwUnitHeight, int rows, int lines)
  84. {
  85. return Error_NotImpl;
  86. }
  87. //打印二维码PDF417函数
  88. //errorLevel pdf417纠错级别 取值{0..8}
  89. //dwWidth pdf417宽度 单位mm
  90. //dwHeight pdf417长度 单位mm
  91. virtual ErrorCodeEnum PrintPDF417codeByArea(BYTE* pData, DWORD dwDataLen,
  92. int errorLevel, DWORD dwWidth, DWORD dwHeight)
  93. {
  94. return Error_NotImpl;
  95. }
  96. //打印图像函数:pData是base64编码的数据
  97. virtual ErrorCodeEnum PrintImage(BYTE* pData, DWORD dwDataLen)
  98. {
  99. return Error_NotImpl;
  100. }
  101. //获取打印失败后错误信息和错误状态
  102. virtual ErrorCodeEnum GetLastErrState(ThermalState& devState, DevErrorInfo& devErrInfo)
  103. {
  104. return Error_NotImpl;
  105. }
  106. private:
  107. int m_mode;
  108. };
  109. #endif //LIBFRAMEWORK_THERM_IMPL_H