跳转到主要内容

在ESC/POS打印机上打印由XML定义的收据

项目描述

escpos-xml 是一个库,用于解析由XML定义的收据并在使用python-escpos库的ESC/POS打印机上打印。

该模块包含一个 RELAX NG 架构的XML: 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'))

文档

根元素是 receipt,它有一个可选的属性 width,表示每行的字符数。

内联元素

内联元素的标签为: boldbspan。可用的属性包括: boldunderlinesizefontinvertedcolorspan 元素还可以有 alignwidth 属性。

块级元素的标签有:ph(1-5)hr。属性与内联元素相同,此外还有 align 属性,可以是 leftrightcenter

列表

可以使用 olul 元素创建有序或无序列表。项目符号的类型由 type 属性定义。对于有序列表,可以使用 start 属性指定起始编号。每个项目由一个 li 元素定义,它具有与内联元素相同的属性。

列表可以嵌套。

条形码

barcode 元素使用 encoding 属性作为格式打印代码。其他属性包括:widthheightpositionfont

图像

img 元素使用由 src 属性定义的图像,并以 base64 数据-url 格式打印。示例

<img src="data:image/png;base64,AAABAAMAEBAAAAEAIABoBAAANgAAAC..."/>

操作

一些操作可用:cutpartialcutcashdrawcashdraw 元素需要一个 pin 属性。

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源代码分发

python-escpos-xml-0.1.0.tar.gz (28.0 kB 查看哈希值)

上传时间 源代码

由以下提供支持