Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## android.device
Class PrinterManager

    java.lang.Object
      android.device.PrinterManager

    public class PrinterManager

extends java.lang.Object

The android.device.PriterManager provides support for printer

To print data with this class, use the following steps:

1. Obtain an instance of Printer with PrinterManager printer = new PrinterManager().
2. Call `setupPage(int, int)` to initialize the page size.
3. If necessary, append a line in the current page with `drawLine(int , int , int , int , int )`.
4. If necessary, append text in the current page with `drawTextEx(String , int, int , int , int , String ,int , int , int , int )`.
5. If necessary, append barcode data in the current page with `drawBarcode(String , int , int , int ,int , int , int )`.
6. If necessary, append picture data in the current page with `drawBitmap(Bitmap , int , int )`.
7. To begin print the current page session, call `printPage(int)`.

Field Summary
`static int` | `PRNSTS_BUSY` The printer is currently busy
`static int` | `PRNSTS_ERR` The printer unknow error
`static int` | `PRNSTS_ERR_DRIVER` The printer driver error
`static int` | `PRNSTS_OK` The printer is working OK
`static int` | `PRNSTS_OUT_OF_PAPER` The printer is out of paper
`static int` | `PRNSTS_OVER_HEAT` The printer is over heat
`static int` | `PRNSTS_UNDER_VOLTAGE` The printer is under voltage

Constructor Summary
`PrinterManager()`

Method Summary
`int` | `clearPage()` Clear the current page.
`int` | `close()` Close the printer
`int` | `drawBarcode(java.lang.String data, int x, int y, int barcodetype, int width, int height, int rotate)` Draw barcode on the current page
`int` | `drawBitmap(Bitmap bmp, int xDest, int yDest)` Draw a bitmap on the current page
`int` | `drawBitmapEx(byte[] pbmp, int xDest, int yDest, int widthDest, int heightDest)` Draw a mono-bitmaps on the current page
`int` | `drawLine(int x0, int y0, int x1, int y1, int lineWidth)` Draw a line in the current page.
`int` | `drawText(java.lang.String data, int x, int y, java.lang.String fontname, int fontsize, boolean bold, boolean italic, int rotate)` Draw text on the current page
`int` | `drawTextEx(java.lang.String data, int x, int y, int width, int height, java.lang.String fontname, int fontsize, int rotate, int style, int format)` Draw text on the current page
`int` | `getStatus()` Gets the current state of the printer `PRNSTS_OK` `PRNSTS_OUT_OF_PAPER` `PRNSTS_OVER_HEAT` `PRNSTS_UNDER_VOLTAGE` `PRNSTS_BUSY` `PRNSTS_ERR` `PRNSTS_ERR_DRIVER` Returns the printer status. 0 for status OK
`int` | `open()` Opens the printer
`int` | `printPage(int rotate)` Print the current page.
`void` | `setGrayLevel(int level)` Set print gray level
`void` | `setSpeedLevel(int level)` Set print speed level
`int` | `setupPage(int width, int height)` Set the page size.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PRNSTS_OK

    public static final int PRNSTS_OK

  The printer is working OK

  See Also:
    Constant Field Values

### PRNSTS_OUT_OF_PAPER

    public static final int PRNSTS_OUT_OF_PAPER

  The printer is out of paper

  See Also:
    Constant Field Values

### PRNSTS_OVER_HEAT

    public static final int PRNSTS_OVER_HEAT

  The printer is over heat

  See Also:
    Constant Field Values

### PRNSTS_UNDER_VOLTAGE

    public static final int PRNSTS_UNDER_VOLTAGE

  The printer is under voltage

  See Also:
    Constant Field Values

### PRNSTS_BUSY

    public static final int PRNSTS_BUSY

  The printer is currently busy

  See Also:
    Constant Field Values

### PRNSTS_ERR

    public static final int PRNSTS_ERR

  The printer unknow error

  See Also:
    Constant Field Values

### PRNSTS_ERR_DRIVER

    public static final int PRNSTS_ERR_DRIVER

  The printer driver error

  See Also:
    Constant Field Values

Constructor Detail

### PrinterManager

    public PrinterManager()

Method Detail

### open

    public int open()

  Opens the printer

  Returns:
    Returns 0 if open successful. Returns -1 if failed

### close

    public int close()

  Close the printer

### setSpeedLevel

    public void setSpeedLevel(int level)

  Set print speed level

  Parameters:
    `level` - value is 50 to 80,default 62

### setGrayLevel

    public void setGrayLevel(int level)

  Set print gray level

  Parameters:
    `level` - value is 0 to 4, default 0.

### setupPage

    public int setupPage(int width,
                         int height)

  Set the page size. Unit is in pixel. 8 pixels is equivalent to 1 mm.

  Parameters:
    `width` - Page width, -1 means largest possible width (width = 384)。
    `height` - Page height. -1 means printer driver to manage the page height.
  Returns:
    0 when success, and -1 when failed.

### clearPage

    public int clearPage()

  Clear the current page.

  Returns:
    Returns 0 if successful. Returns -1 if failed.

### printPage

    public int printPage(int rotate)

  Print the current page.

  Parameters:
    `rotate` - The rotation angle, currently supports only 0 (non-rotating)
  Returns:
    Returns print status
    1. `PRNSTS_OK`
    2. `PRNSTS_OUT_OF_PAPER`
    3. `PRNSTS_OVER_HEAT`
    4. `PRNSTS_UNDER_VOLTAGE`
    5. `PRNSTS_BUSY`
    6. `PRNSTS_ERR`
    7. `PRNSTS_ERR_DRIVER`

### drawLine

    public int drawLine(int x0,
                        int y0,
                        int x1,
                        int y1,
                        int lineWidth)

  Draw a line in the current page.
  (0,0) point axis: On the upper left corner of the screen

  Parameters:
    `x0` - start point X axis,
    `y0` - start point Y axis
    `x1` - end point X axis,
    `y1` - end point Y axis
    `lineWidth` - in pixel.
  Returns:
    Returns 0 if successful. Returns -1 if failed.

### drawText

    public int drawText(java.lang.String data,
                        int x,
                        int y,
                        java.lang.String fontname,
                        int fontsize,
                        boolean bold,
                        boolean italic,
                        int rotate)

  Draw text on the current page

  Parameters:
    `data` - The string to be draw
    `x` - Start point X axis,
    `y` - Start point Y axis
    `fontname` - Font to be used, otherwise, default system font is used. Custom fonts can be specified, for example, specifying the full path /mnt/sdcard/xxx.ttf.
    `fontsize` - The font size, in pixel
    `bold` - The font bold style
    `italic` - The font italic style
    `rotate` - The text direction. 0 no rotation, 1 rotate 90 degree, 2 rotate 180 degree, 3 rotate 270 degree.
  Returns:
    If successful, returns actual printing height. Returns -1 when failed.

### drawTextEx

    public int drawTextEx(java.lang.String data,
                          int x,
                          int y,
                          int width,
                          int height,
                          java.lang.String fontname,
                          int fontsize,
                          int rotate,
                          int style,
                          int format)

  Draw text on the current page

  Parameters:
    `data` - The string to be draw
    `x` - Start point X axis,
    `y` - Start point Y axis
    `width` - Text is printed to the width of the rectangle on the page
    `height` - Text is printed to the height of the rectangle on the page
    `fontname` - font to be use, otherwise, default system font is used. Or custom fonts i.e. /mnt/sdcard/xxx.ttf the path.
    `fontsize` - the font size, in pixel
    `rotate` - print the text degree, 0 no rotation, 1 rotate 90 degree, 2 rotate 180 degree, 3 rotate 270 degree.
    `style` - Font style (0x0001 - underline, 0x0002 - italic, 0x0004 - bold 0x0008 reverse effect, 0x0010 - strike out), you can mix the style by using the or operator, style= 0x0002|0x0004
    `format` - Set to 0 means word wrap at the specified width range 0-384, Set to 1 means no word wrap
  Returns:
    Returns actual printing height if successful. Returns -1 if failed.

### drawBarcode

    public int drawBarcode(java.lang.String data,
                           int x,
                           int y,
                           int barcodetype,
                           int width,
                           int height,
                           int rotate)

  Draw barcode on the current page

  Parameters:
    `data` - The barcode text
    `x` - Start point at X axis,
    `y` - Start point at Y axis
    `barcodetype` - Following Table shows the supported symbology

    BARCODE_CODE11 | 1
    BARCODE_C25MATRIX | 2
    BARCODE_C25INTER | 3
    BARCODE_C25IATA | 4
    BARCODE_C25LOGIC | 6 |
    BARCODE_C25IND | 7
    BARCODE_CODE39 | 8
    BARCODE_EXCODE39 | 9
    BARCODE_EANX | 13
    BARCODE_EAN128 | 16
    BARCODE_CODABAR | 18
    BARCODE_CODE128 | 20
    BARCODE_DPLEIT | 21
    BARCODE_DPIDENT | 22
    BARCODE_CODE16K | 23
    BARCODE_CODE49 | 24
    BARCODE_CODE93 | 25
    BARCODE_FLAT | 28
    BARCODE_RSS14 | 29
    BARCODE_RSS_LTD | 30
    BARCODE_RSS_EXP | 31
    BARCODE_TELEPEN | 32
    BARCODE_UPCA | 34
    BARCODE_UPCE | 37
    BARCODE_POSTNET | 40
    BARCODE_MSI_PLESSEY | 47
    BARCODE_FIM | 49
    BARCODE_LOGMARS | 50
    BARCODE_PHARMA | 51
    BARCODE_PZN | 52
    BARCODE_PHARMA_TWO | 53
    BARCODE_PDF417 | 55
    BARCODE_PDF417TRUNC | 56
    BARCODE_MAXICODE | 57
    BARCODE_QRCODE | 58
    BARCODE_CODE128B | 60
    BARCODE_AUSPOST | 63
    BARCODE_AUSREPLY | 66
    BARCODE_AUSROUTE | 67
    BARCODE_AUSREDIRECT | 68
    BARCODE_ISBNX | 69
    BARCODE_RM4SCC | 70
    BARCODE_DATAMATRIX | 71
    BARCODE_EAN14 | 72
    BARCODE_CODABLOCKF | 74
    BARCODE_NVE18 | 75
    BARCODE_JAPANPOST | 76
    BARCODE_KOREAPOST | 77
    BARCODE_RSS14STACK | 79
    BARCODE_RSS14STACK_OMNI | 80
    BARCODE_RSS_EXPSTACK | 81
    BARCODE_PLANET | 82
    BARCODE_MICROPDF417 | 84
    BARCODE_ONECODE | 85
    BARCODE_PLESSEY | 86
    BARCODE_AZTEC | 92

    `width` - There are four thickness level to the lines, 1 being the thinnest and 4 being the thickest.
    `height` - The barcode height in pixel
    `rotate` - The barcode rotation, 0 no rotation, 1 rotate 90 degree, 2 rotate 180 degree, 3 rotate 270 degree.
  Returns:
    Returns actual printing height if successful. Returns -1 when failed.

### drawBitmap

    public int drawBitmap(Bitmap bmp,
                          int xDest,
                          int yDest)

  Draw a bitmap on the current page

  Parameters:
    `bmp` - The bitmap to be drawn
    `xDest` - Start point at X axis,
    `yDest` - Start point at Y axis,
  Returns:
    Returns actual printing height is successful. Returns -1 if failed.

### drawBitmapEx

    public int drawBitmapEx(byte[] pbmp,
                            int xDest,
                            int yDest,
                            int widthDest,
                            int heightDest)

  Draw a mono-bitmaps on the current page

  Parameters:
    `bmp` - ByteArray data for mono-bitmaps
    `xDest` - Start point at X axis,
    `yDest` - Start point at Y axis,
    `widthDest` - horizontal width bytes
    `heightDest` - vertical height point
  Returns:
    Returns actual printing height is successful. Returns -1 if failed.

### getStatus

    public int getStatus()

  Gets the current state of the printer
  1. `PRNSTS_OK`
  2. `PRNSTS_OUT_OF_PAPER`
  3. `PRNSTS_OVER_HEAT`
  4. `PRNSTS_UNDER_VOLTAGE`
  5. `PRNSTS_BUSY`
  6. `PRNSTS_ERR`
  7. `PRNSTS_ERR_DRIVER`
  Returns the printer status. 0 for status OK. -1 for out of paper. -2 for overheated

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD