在esc/pos打印机上打印xml定义的收据
python-escpos-xml的Python项目详细描述
esc pos xml是一个库,用于解析xml定义的收据并将其打印到esc/pos上 使用python escpos库的打印机。
该模块包含XML的RELAX NG模式:escpos_xml/escpos.rng。 语法与html非常相似。
示例:
>>> import os >>> from io import BytesIO, open >>> from escpos.printer import Usb >>> from escpos_xml import parse >>> xml = BytesIO(''' ... <receipt width="48"> ... <h1>Receipt!</h1> ... <ul> ... <li> ... <span align="left" width="22">Product</span> ... <span align="right" width="24">0.15€</span> ... </li> ... </ul> ... <hr/> ... <p size="2h"> ... <span align="left" width="24">TOTAL</span> ... <span align="right" width="24">0.15€</span> ... </p> ... <barcode encoding='ean13'> ... 5449000000996 ... </barcode> ... <cashdraw pin="2"/> ... <cut/> ... </receipt>''') >>> printer = Usb(0x0483, 0x5743) >>> parse(printer, xml) >>> parse(printer, ... open(os.path.join('escpos_xml', 'tests', 'image.xml'), 'rb'))
文件编制:
根
根元素是带有可选属性width的收据 一行中的字符数。
行:
内嵌元素的标记是:bold,b和span。 可用的属性有:粗体,下划线,大小,字体,反转 以及颜色。 span元素还可以具有属性align和width。
街区:
块元素的标记是:p,h(1-5)和hr。 除了 对齐可以是左,右或中。
列表:
可以使用元素ol和 ul。项目符号的类型由属性type定义。对于有序列表, 起始编号可以用start属性指定。 每个项都由一个元素定义,该元素具有与 串联元件。
列表可以嵌套。
条形码:
条形码元素使用编码属性作为格式打印代码。 其他属性包括:宽度,高度,位置和字体。
图片:
元素使用base64打印由src属性定义的图像 数据URL格式。 示例:
<img src="data:image/png;base64,AAABAAMAEBAAAAEAIABoBAAANgAAAC..."/>
操作:
有些操作是可用的:剪切,部分剪切和现金提取。 cashdraw元素需要一个pin属性。