From 3e8525673b53b4215b5f3354a61e850be7ace934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benito=20L=C3=B3pez?= Date: Fri, 21 Feb 2025 10:33:28 +0100 Subject: [PATCH] New feature: Software columns - Part 4: Examples (#673) * Add software_colums example * Fix docs build --- .github/workflows/documentation.yml | 2 +- examples/software_columns.py | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 examples/software_columns.py diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index ee08a27..32efd1a 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -27,6 +27,6 @@ jobs: sudo apt-get update -y && sudo apt-get install -y git python3-sphinx graphviz libenchant-2-2 && sudo apt-get install -y gcc libcups2-dev python3-dev python3-setuptools && - sudo pip install tox pycups + sudo pip install --ignore-installed tox pycups - name: Test doc build run: tox -e docs diff --git a/examples/software_columns.py b/examples/software_columns.py new file mode 100644 index 0000000..a89e1d4 --- /dev/null +++ b/examples/software_columns.py @@ -0,0 +1,25 @@ +""" Example for software_columns: Print text arranged into columns.""" + +from escpos import printer + +p = printer.Dummy(profile="TM-U220") + +font = "a" +p.set(font=font) + +# Default: Automatic column width given the characters per line of the printer. +text_list = ["col1", "col2", "col3"] +charsxline = p.profile.get_columns(font) +p.software_columns(text_list=text_list, widths=charsxline, align="center") + +# Tuning some columns: +text_list = ["col1", "col2", "col3"] +widths = [5, 20] # col1 = 5 chars width, col2 + col3 = 20 chars width +align = ["left", "center"] # col1 = left aligned, col2 + col3 = center aligned +p.software_columns(text_list=text_list, widths=widths, align=align) + +# Tuning them all: +text_list = ["col1", "col2", "col3"] +widths = [5, 20, 15] +align = ["left", "center", "right"] +p.software_columns(text_list=text_list, widths=widths, align=align)