热敏打印机驱动器和模板
项目描述
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 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a8375c8694fa96f919b32b33029d22f98ba1685cc64310e85b771fa1dfce8084 |
|
MD5 | b818644bfcc7ebe850888e4f632f95a7 |
|
BLAKE2b-256 | 1ddb5b4e327cbeee1d6c91b1763306912a2cb7995c370d39cf6c9dc6f72aec02 |