oneprint is a uniform print library. It use XML to define print data. Now it can convert XML to ESC/POS data or Pillow Image object.
Project description
oneprint
oneprint is a uniform print library. It use XML to define print data. Now it can convert XML to ESC/POS data or Pillow Image object.
Install Dependencies
pip install requests qrcode pillow pystrich python-escpos
Install oneprint
pip install oneprint
XML data define demo
<xml>
<!-- text -->
<text align="center">oneprint is a uniform print library, support ESC/POS printer.</text>
<!-- table -->
<hr/>
<text/>
<table>
<tr>
<td align="left">日期:2021-04-28</td>
<td align="right">编号:0001</td>
</tr>
</table>
<text/>
<table border="1">
<tr border="1">
<th colspan="3" align="center" width="8">Title</th>
</tr>
<tr border="1">
<th align="center" width="8">Time</th>
<th align="center" width="20">Content</th>
<th align="center" width="20">Remark</th>
</tr>
<tr border="1">
<td>18:00</td>
<td>This is content field! Just test!</td>
<td align="center">Empty</td>
</tr>
<tr border="1">
<td>19:00</td>
<td colspan="2">Content 2</td>
</tr>
</table>
<text>A Image</text>
<!-- image -->
<img align="center" src="https://img3.doubanio.com/dae/accounts/resources/527f922/sns/assets/lg_main@2x.png"/>
<text>A Qrcode</text>
<!-- qrcode -->
<qrcode align="center">Hello</qrcode>
<text>A Barcode</text>
<!-- ean13 barcode -->
<barcode align="center" type="ean13">123456789012</barcode>
<!-- cur the page -->
<cut/>
</xml>
The result:
Usage
# print to a image and show
data = '''
<text>Hello World</text>
<qrcode>Hello World</qrcode>
'''
from oneprint import ImageDrawPrint
pt = ImageDrawPrint()
pt.auto_print(data)
pt.show() # use Pillow Image.show()
# save to file
pt.get_image().save('/tmp/tt.jpeg')
# or print with python-escpos
from oneprint import EscPosPrint
ep = EscPosPrint()
ep.auto_print(data)
from escpos.printer import Serial
p = Serial(devfile='/dev/tty.usbserial',
baudrate=9600,
bytesize=8,
parity='N',
stopbits=1,
timeout=1.00,
dsrdtr=True)
p._raw(ep.get_data())
The result:
Click to view more information!
CHANGES
1.0.0
- first version
1.0.6
- support
<hr/>
in table
1.2.0
- support align attribute in
<text>
node with ImageDrawPrint
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
oneprint-1.2.0.tar.gz
(7.5 kB
view details)
File details
Details for the file oneprint-1.2.0.tar.gz
.
File metadata
- Download URL: oneprint-1.2.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e89138de72f176568320cd2e504dfb2baa529af7835c3fdb37c9cf579aa6b29d |
|
MD5 | 5331cc1bb406a548c55dbbd593275988 |
|
BLAKE2b-256 | b0fa149a3515ad1b213e9e77de8d627aeda674b655b8aac62fc1aa63c606fec3 |