跳转到主要内容

热敏打印机驱动器和模板

项目描述

Build Status Coverage

Python库,用于与行模式热敏打印机通信。目前仅支持支持星型行模式协议的打印机,但应该可以添加对其他类似打印机的支持。

还提供了一个模块,用于将页面的xml描述编译成命令列表。

Newman Online Ltd开发,并经许可开源。

示例

基本,无模板系统

from linemode import open_printer

printer = open_printer('star+lpt:///dev/usb/lp0')

printer.run_commands([
    ('fontsize-large'),
    ('select-bold'),
    ('write', "Hello world\n"),
    ('cut-through'),
])

运行模板

from linemode import open_printer
from linemode.renderers import xml

printer = open_printer('star+lpt:///dev/usb/lp0')

printer.run_commands(xml.render("""
<document>
  <line>
    <bold>Hello world</bold>
  </line>
</document>
"""))

使用jinja

from jinja2 import Template

from linemode import open_printer
from linemode.renderers import xml

printer = open_printer('star+lpt:///dev/usb/lp0')

# jinja2 template
template = """
<document>
  {% for potatoes in [1, 2, 3, 4] %}
  <line>
    {{ potatoes }} potato
  </line>
  {% endfor %}
</document>
"""
# line mode printer document
document = Template(template).render()

# iterator of generic printer instructions
commands = xml.render(document)

# printer specific compiled representation
program = printer.compile(commands)

printer.execute(program)

命令语言

打印机驱动程序接受命令元组的可迭代对象。元组应包含一个命令名称后跟任意数量的基本参数。为了方便,可以替换仅包含命令名称的元组为命令名称。

以下命令被支持

reset

将所有内容重置为其初始状态。

select-bold/cancel-bold

切换打印粗体文本。

select-highlight/cancel-highlight

切换打印白底黑字而不是黑底白字。

fontsize-small/fontsize-medium/fontsize-large

设置当前行以及所有后续行的行高。如果不在新行的开头发送,则行为未定义。字符宽度应保持不变。

默认:fontsize-small

写入 <字符串>

打印 Unicode 字符串的内容。如果任何字符不受支持,则将它们替换为‘?’。

barcode <样式> <数据>

待办事项

换行

刷新行缓冲区并开始新的一行。

cut-through

在下一个标记处创建切口

cut-partial

在下一个标记处创建穿孔切口

cut-through-immediate

在当前光标位置创建切口

cut-partial-immediate

在当前光标位置创建穿孔切口

错误

请使用问题跟踪器发布任何问题或功能请求。欢迎拉取请求。新的驱动程序将非常受欢迎。

项目详情


下载文件

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

源分发

linemode-0.4.0.tar.gz (10.5 kB 查看哈希)

上传时间

由以下机构支持