热敏打印机驱动程序和模板

linemode的Python项目详细描述


Build StatusCoverage

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

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

Newman Online Ltd开发并经许可开放源代码。

示例

基本,无模板系统:

fromlinemodeimportopen_printerprinter=open_printer('star+lpt:///dev/usb/lp0')printer.run_commands([('fontsize-large'),('select-bold'),('write',"Hello world\n"),('cut-through'),])

运行模板:

fromlinemodeimportopen_printerfromlinemode.renderersimportxmlprinter=open_printer('star+lpt:///dev/usb/lp0')printer.run_commands(xml.render("""
<document>
  <line>
    <bold>Hello world</bold>
  </line>
</document>
"""))

带着金贾:

fromjinja2importTemplatefromlinemodeimportopen_printerfromlinemode.renderersimportxmlprinter=open_printer('star+lpt:///dev/usb/lp0')# jinja2 templatetemplate="""
<document>
  {% for potatoes in [1, 2, 3, 4] %}
  <line>
    {{ potatoes }} potato
  </line>
  {% endfor %}
</document>
"""# line mode printer documentdocument=Template(template).render()# iterator of generic printer instructionscommands=xml.render(document)# printer specific compiled representationprogram=printer.compile(commands)printer.execute(program)

命令语言

打印机驱动程序接受一个iterable命令元组。 元组应包含一个命令名,后跟任意数量的基元参数。 为了方便起见,只包含命令名的元组可以替换为命令名。

支持以下命令:

reset
将所有内容重置为初始状态。
select-bold/cancel-bold
切换打印粗体文本。
select-highlight/cancel-highlight
切换黑白打印而不是黑白打印。
fontsize-small/fontsize-medium/fontsize-large

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

默认值:fontsize-small

write <string>
打印Unicode字符串的内容。 如果任何字符不受支持,它们将被替换为'?'.
barcode <style> <data>
待办事项
newline
刷新行缓冲区并开始新的行。
cut-through
在下一个标记处创建切口
cut-partial
在下一个标记处创建穿孔切口
cut-through-immediate
在当前光标位置创建剪切
cut-partial-immediate
在当前光标位置创建穿孔切口

错误

请使用issue tracker发布任何问题或功能请求。 欢迎拉取请求。 新司机将不胜感激。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Libgdx手势监听器不适用于手机,但适用于桌面   json使用Java从MongoDB返回多个文档   Apache VFS的java SSH URI错误   java JPA createNativeQuery getResultList<Object[]>跳过空字段   java如何在没有ImageIO的情况下将加载的字节转换为图像。读()   类如何获取“导入java”。净。*'工作?   虽然引发了异常,但java事务未回滚   java正在从应用程序获取敏感数据。形态   java在当前线程结束后启动线程   分类如何在java代码中结合weka和LibSVM   java如何压缩图像直到达到固定字节大小   java与extras之间存在一些问题   带过滤器链接的java并行流   java生成ID高于某个值   IF语句可以在数学中使用吗。麦克斯在爪哇?   java JdbcTemplate如何在从数据库中删除表的情况下检索数据   如何在java中更新excel文件?   java无法运行JApplet,因为安全问题无法加载库   hh:mm格式的java时间条目   找不到java变量,即使它在上面的类中