fix printing of CODE128
The control sequence {A or {B or {C can't be part of the qr code. For this the user has to supply this sequence.
This commit is contained in:
parent
7c732ee615
commit
38f9835931
|
@ -18,6 +18,7 @@ Content
|
||||||
user/raspi
|
user/raspi
|
||||||
user/todo
|
user/todo
|
||||||
user/usage
|
user/usage
|
||||||
|
user/barcode
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
Printing Barcodes
|
||||||
|
-----------------
|
||||||
|
:Last Reviewed: 2016-07-31
|
||||||
|
|
||||||
|
Most ESC/POS-printers implement barcode-printing.
|
||||||
|
The barcode-commandset is implemented in the barcode-method.
|
||||||
|
For a list of compatible barcodes you should check the manual of your printer.
|
||||||
|
As a rule of thumb: even older Epson-models support most 1D-barcodes.
|
||||||
|
To be sure just try some implementations and have a look at the notices below.
|
||||||
|
|
||||||
|
barcode-method
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
The barcode-method is rather low-level and orients itself on the implementation of ESC/POS.
|
||||||
|
In the future this class could be supplemented by a high-level class that helps the user generating the payload.
|
||||||
|
|
||||||
|
.. py:currentmodule:: escpos.escpos
|
||||||
|
|
||||||
|
.. automethod:: Escpos.barcode
|
||||||
|
:noindex:
|
||||||
|
|
||||||
|
CODE128
|
||||||
|
~~~~~~~
|
||||||
|
Code128 barcodes need a certain format.
|
||||||
|
For now the user has to make sure that the payload is correct.
|
||||||
|
For alphanumeric CODE128 you have to preface your payload with `{B`.
|
||||||
|
|
||||||
|
.. code-block:: Python
|
||||||
|
|
||||||
|
from escpos.printer import Dummy, Serial
|
||||||
|
p = Serial()
|
||||||
|
# print CODE128 012ABCDabcd
|
||||||
|
p.barcode("{B012ABCDabcd", "CODE128", function_type="B")
|
||||||
|
|
||||||
|
A very good description on CODE128 is also on `Wikipedia <https://en.wikipedia.org/wiki/Code_128>`_.
|
|
@ -168,10 +168,7 @@ BARCODE_TYPE_B = {
|
||||||
'NW7': _SET_BARCODE_TYPE(71),
|
'NW7': _SET_BARCODE_TYPE(71),
|
||||||
'CODABAR': _SET_BARCODE_TYPE(71), # Same as NW7
|
'CODABAR': _SET_BARCODE_TYPE(71), # Same as NW7
|
||||||
'CODE93': _SET_BARCODE_TYPE(72),
|
'CODE93': _SET_BARCODE_TYPE(72),
|
||||||
# These are all the same barcode, but using different charcter sets
|
'CODE128': _SET_BARCODE_TYPE(73),
|
||||||
'CODE128A': _SET_BARCODE_TYPE(73) + b'{A', # CODE128 character set A
|
|
||||||
'CODE128B': _SET_BARCODE_TYPE(73) + b'{B', # CODE128 character set B
|
|
||||||
'CODE128C': _SET_BARCODE_TYPE(73) + b'{C', # CODE128 character set C
|
|
||||||
'GS1-128': _SET_BARCODE_TYPE(74),
|
'GS1-128': _SET_BARCODE_TYPE(74),
|
||||||
'GS1 DATABAR OMNIDIRECTIONAL': _SET_BARCODE_TYPE(75),
|
'GS1 DATABAR OMNIDIRECTIONAL': _SET_BARCODE_TYPE(75),
|
||||||
'GS1 DATABAR TRUNCATED': _SET_BARCODE_TYPE(76),
|
'GS1 DATABAR TRUNCATED': _SET_BARCODE_TYPE(76),
|
||||||
|
|
Loading…
Reference in New Issue