Pos

com.lvrenyang.io

## 类 Pos

- java.lang.Object
- - com.lvrenyang.io.Pos

-     public class Pos
      extends java.lang.Object

  连接成功之后，调用此处的函数，即可进行打印。 该处函数对指令集上的指令做了一些封装，简化了使用流程。

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `IO` | `IO`

  - ### 构造器概要

    构造器
    构造器和说明
    `Pos()`

  - ### 方法概要

    方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | `EMBEDDED_WriteToUart(byte[] buffer, int offset, int count)` 只对特定的嵌入式蓝牙打印机有效（TC03-BR）
    `boolean` | `POS_CheckKey(byte[] key)` 检查打印机的密钥是否为key
    `void` | `POS_EPSON_SetQRCode(java.lang.String strCodedata, int nWidthX, int nVersion, int nErrorCorrectionLevel)` 使用ESC/POS命令打印二维码。
    `void` | `POS_FeedLine()` 走纸一行
    `void` | `POS_PrintBWPic(Bitmap mBitmap, int nWidth, int nMode)` 打印图片。
    `void` | `POS_PrintPicture(Bitmap mBitmap, int nWidth, int nMode)` 打印图片。
    `boolean` | `POS_QueryOnline(int timeout)` 查询打印机是否已连接
    `boolean` | `POS_QueryStatus(byte[] precbuf, int timeout)` 查询打印机状态
    `void` | `POS_Reset()` 复位打印机（软件复位）
    `boolean` | `POS_RTQueryStatus(byte[] precbuf, int timeout)` 实时查询打印机状态
    `void` | `POS_S_Align(int align)` 设置对齐方式
    `void` | `POS_S_SetAreaWidth(int nWidth)` 设置标准模式下的打印区域宽度。
    `void` | `POS_S_SetBarcode(java.lang.String strCodedata, int nOrgx, int nType, int nWidthX, int nHeight, int nHriFontType, int nHriFontPosition)` 打印条码 请参看附件详细说明
    `void` | `POS_S_SetQRcode(java.lang.String strCodedata, int nWidthX, int nVersion, int nErrorCorrectionLevel)` 打印二维码，使用的命令非（ESC/POS）。
    `void` | `POS_S_TextOut(java.lang.String pszString, java.lang.String encoding, int nOrgx, int nWidthTimes, int nHeightTimes, int nFontType, int nFontStyle)` 按照一定的格式打印字符串
    `void` | `POS_SetCharSetAndCodePage(int nCharSet, int nCodePage)` 选择国际字符集和代码页。
    `void` | `POS_SetKey(byte[] key)` 设置打印机8字节密钥
    `void` | `POS_SetLineHeight(int nHeight)` 设置行高
    `void` | `POS_SetMotionUnit(int nHorizontalMU, int nVerticalMU)` 设置打印机的移动单位。
    `void` | `POS_SetRightSpacing(int nDistance)` 设置字符的右间距（相邻两个字符的间隙距离）。
    `void` | `Set(IO io)`

    - ### 从类继承的方法 java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### IO

          public IO IO

  - ### 构造器详细资料

    - #### Pos

          public Pos()

  - ### 方法详细资料

    - #### EMBEDDED_WriteToUart

          public boolean EMBEDDED_WriteToUart(byte[] buffer,
                                     int offset,
                                     int count)

      只对特定的嵌入式蓝牙打印机有效（TC03-BR）
      参数:
        `buffer` -
        `offset` -
        `count` -

    - #### POS_CheckKey

          public boolean POS_CheckKey(byte[] key)

      检查打印机的密钥是否为key
      参数:
        `key` - 8字节的密钥
      返回:

    - #### POS_EPSON_SetQRCode

          public void POS_EPSON_SetQRCode(java.lang.String strCodedata,
                                 int nWidthX,
                                 int nVersion,
                                 int nErrorCorrectionLevel)

      使用ESC/POS命令打印二维码。一般适用于嵌入式打印机。
      参数:
        `strCodedata` - 二维码字符串
        `nWidthX` - 二维码每个模块的单元宽度，[2,6]
        `nVersion` - 二维码版本大小，该值和二维码大小相关。 （设置为0自动计算二维码大小，设置为10基本占满2寸纸，如果二维码超出纸张宽度则不会打印）
        `nErrorCorrectionLevel` - 纠错等级。[1,4]

    - #### POS_FeedLine

          public void POS_FeedLine()

      走纸一行

    - #### POS_PrintBWPic

          public void POS_PrintBWPic(Bitmap mBitmap,
                            int nWidth,
                            int nMode)

      打印图片。使用平均灰度值作为阀值，将灰度图片二值化。对灰度图有良好的效果。
      参数:
        `mBitmap` - 位图图片。
        `nWidth` - 要打印的宽度
        `nMode` - 固定为0

    - #### POS_PrintPicture

          public void POS_PrintPicture(Bitmap mBitmap,
                              int nWidth,
                              int nMode)

      打印图片。使用平均灰度值作为阀值，将灰度图片二值化。对灰度图有良好的效果。
      参数:
        `mBitmap` - 位图图片。
        `nWidth` - 要打印的宽度
        `nMode` - 固定为0

    - #### POS_QueryOnline

          public boolean POS_QueryOnline(int timeout)

      查询打印机是否已连接
      参数:
        `timeout` - 超时时间，一般填1000ms
      返回:

    - #### POS_QueryStatus

          public boolean POS_QueryStatus(byte[] precbuf,
                                int timeout)

      查询打印机状态
      参数:
        `precbuf` - 一个字节长的字节数组用来存储查询到的状态
        `timeout` - 超时时间，一般填1000ms
      返回:

    - #### POS_Reset

          public void POS_Reset()

      复位打印机（软件复位）

    - #### POS_RTQueryStatus

          public boolean POS_RTQueryStatus(byte[] precbuf,
                                  int timeout)

      实时查询打印机状态
      参数:
        `precbuf` - 一个字节长的字节数组用来存储查询到的状态
        `timeout` - 超时时间，一般填1000ms
      返回:

    - #### POS_S_Align

          public void POS_S_Align(int align)

      设置对齐方式
      参数:
        `align` - (0 左对齐) (1 居中对齐) (2 右对齐)

    - #### POS_S_SetAreaWidth

          public void POS_S_SetAreaWidth(int nWidth)

      设置标准模式下的打印区域宽度。
      参数:
        `nWidth` - 指定打印区域的宽度。

    - #### POS_S_SetBarcode

          public void POS_S_SetBarcode(java.lang.String strCodedata,
                              int nOrgx,
                              int nType,
                              int nWidthX,
                              int nHeight,
                              int nHriFontType,
                              int nHriFontPosition)

      打印条码 请参看附件详细说明
      参数:
        `strCodedata` -
        `nOrgx` -
        `nType` -
        `nWidthX` -
        `nHeight` -
        `nHriFontType` -
        `nHriFontPosition` -

    - #### POS_S_SetQRcode

          public void POS_S_SetQRcode(java.lang.String strCodedata,
                             int nWidthX,
                             int nVersion,
                             int nErrorCorrectionLevel)

      打印二维码，使用的命令非（ESC/POS）。一般适用于便携式打印机。
      参数:
        `strCodedata` - 二维码字符串
        `nWidthX` - 二维码每个模块的单元宽度，[2,6]
        `nVersion` - 二维码版本大小，该值和二维码大小相关。 （设置为0自动计算二维码大小，设置为10基本占满2寸纸，如果二维码超出纸张宽度则不会打印）
        `nErrorCorrectionLevel` - 纠错等级。[1,4]

    - #### POS_S_TextOut

          public void POS_S_TextOut(java.lang.String pszString,
                           java.lang.String encoding,
                           int nOrgx,
                           int nWidthTimes,
                           int nHeightTimes,
                           int nFontType,
                           int nFontStyle)

      按照一定的格式打印字符串
      参数:
        `pszString` - 需要打印的字符串
        `encoding` - 指定编码格式。一般填"GBK"
        `nOrgx` - 指定 X 方向（水平）的起始点位置离左边界的点数。 2寸打印机一行384点，3寸打印机一行576点。
        `nWidthTimes` - 指定字符的宽度方向上的放大倍数。可以为 0到 1。
        `nHeightTimes` - 指定字符高度方向上的放大倍数。可以为 0 到 1。
        `nFontType` - 指定字符的字体类型。 (0x00 标准 ASCII 12x24) (0x01 压缩ASCII 9x17)
        `nFontStyle` - 指定字符的字体风格。可以为以下列表中的一个或若干个。 (0x00 正常) (0x08 加粗) (0x80 1点粗的下划线) (0x100 2点粗的下划线) (0x200 倒置、只在行首有效) (0x400 反显、黑底白字) (0x1000 每个字符顺时针旋转 90 度)

    - #### POS_SetCharSetAndCodePage

          public void POS_SetCharSetAndCodePage(int nCharSet,
                                       int nCodePage)

      选择国际字符集和代码页。 请参考附件详细说明。
      参数:
        `nCharSet` - 国际字符集
        `nCodePage` - 字符代码页

    - #### POS_SetKey

          public void POS_SetKey(byte[] key)

      设置打印机8字节密钥
      参数:
        `key` - 8字节的密钥

    - #### POS_SetLineHeight

          public void POS_SetLineHeight(int nHeight)

      设置行高
      参数:
        `nHeight` - (0,255]

    - #### POS_SetMotionUnit

          public void POS_SetMotionUnit(int nHorizontalMU,
                               int nVerticalMU)

      设置打印机的移动单位。
      参数:
        `nHorizontalMU` - 把水平方向上的移动单位设置为 25.4 / nHorizontalMU 毫米。
        `nVerticalMU` - 把垂直方向上的移动单位设置为 25.4 / nVerticalMU 毫米。

    - #### POS_SetRightSpacing

          public void POS_SetRightSpacing(int nDistance)

      设置字符的右间距（相邻两个字符的间隙距离）。
      参数:
        `nDistance` - 指定右间距的点数。

    - #### Set

          public void Set(IO io)