Class CitizenPrinter


  • public class CitizenPrinter
    extends BluetoothPrinter
    This class extends BluetoothPrinter to send special Citizen-like commands to the printer. Tested with Citizen CMP-10 thermal printer.

    Instructions of how to setup the devices to work with the printer.

    1. First, run the self-test: turning the printer off, and pressing the LF + ON button at the same time and then releasing the LF button.
    2. Write down the last 2 bytes (4 letters) of the ADDRESS (e.g.: A4 08)
    3. Discover the "Citizen Systems" printer with the PDA.
    4. When asked for the PIN (password), write the last 4 letters of the address in UPPER CASE (e.g.: A408); if it fails, write it in lower case (e.g.: a408).
    5. That's it. On some devices, you can choose to always use this printer as default Bluetooth device.
    • Constructor Detail

      • CitizenPrinter

        public CitizenPrinter()
                       throws IOException
        Creates a new CitizenPrinter instance, using PortConnector.BLUETOOTH port at 57600 baud rate.
        Throws:
        IOException
      • CitizenPrinter

        public CitizenPrinter​(PortConnector con)
                       throws IOException
        Creates a new CitizenPrinter instance, using the given PortConnector as bridge to the printer. Note that PortConnector can use any port (including infrared), however, it is not guaranteed that it will work with that port. For example, IR does not work on Palm OS devices.
        Throws:
        IOException
      • CitizenPrinter

        public CitizenPrinter​(Stream con)
                       throws IOException
        Creates a new CitizenPrinter instance, using the given Stream as bridge to the printer.
        Throws:
        IOException
    • Method Detail

      • setFont

        public void setFont​(boolean fontA,
                            boolean bold,
                            boolean doubleWidth,
                            boolean doubleHeight,
                            boolean underline)
                     throws IOException
        Sets the current font based on the given attributes.
        Throws:
        IOException
      • setSpaceWidth

        public void setSpaceWidth​(int w)
                           throws IOException
        Sets the space character width, between 0 and 32.
        Throws:
        IOException
      • setXPos

        public void setXPos​(int x)
                     throws IOException
        Sets the absolute position to start printing.
        Throws:
        IOException
      • doubleLineHeight

        public void doubleLineHeight()
                              throws IOException
        Double-space line height.
        Throws:
        IOException
      • singleLineHeight

        public void singleLineHeight()
                              throws IOException
        Single-space line height.
        Throws:
        IOException
      • setLineHeight

        public void setLineHeight​(int n)
                           throws IOException
        User-defined line height (n / 203 inches height).
        Throws:
        IOException
      • setRotation90

        public void setRotation90​(boolean on)
                           throws IOException
        Enables 90-degree rotation.
        Throws:
        IOException
      • setRotation1800

        public void setRotation1800​(boolean on)
                             throws IOException
        Enables 180-degree rotation.
        Throws:
        IOException
      • setDensity

        public void setDensity​(int n)
                        throws IOException
        Sets the font density, between 0 and 5.
        Throws:
        IOException
      • setHorizontalAlignment

        public void setHorizontalAlignment​(int v)
                                    throws IOException
        Sets the horizontal text alignment. Use Control.LEFT, Control.CENTER, Control.RIGHT.
        Throws:
        IOException