Print text as a raster bit image from a Phomemo printer.
Project description
Phomemo printer - python utilities to allow printing text and images from the Phomemo printer
I have not been able to print text to the Phomemo printer using standard ESC/POS print commands (if your printer does work with these commands, you should use the library here). To work around this, this library allows printing of text as a raster bit image. It also allows for actual image files to be printed directly.
This currently only allows connection to the printer via bluetooth; various methods to connect to the Phomemo printer and print images are excellently described here if bluetooth does not suit your needs.
Tools were tested on a Phomemo M02 Pro printer.
Requirements
- python3
- bluetooth interrogation tools (e.g. via the
bluezpackage)
Installation
sudo python3 setup.py install
This will create a CLI called phomemo_printer on your PATH.
Alternatively, install via pip:
python3 -m pip install phomemo_printer
Usage
The printer is connected to over bluetooth. To connect, the bluetooth address and channel must be determined.
Finding the printer's bluetooth address and channel
The Debian package bluez provides the utilities needed to scan for and connect to the printer via bluetooth.
- Find the printer's bluetooth address
The printer should be powered on and not connected to any computer or app.
$ hcitool scan
Scanning ...
00:AA:13:41:11:A5 M02 Pro
The bluetooth address should be in the format xx:xx:xx:xx:xx:xx. If more than one bluetooth device is discovered, look for one with the name of your printer.
- Determine which channel to connect to the device on
Format: sdptool browse bluetooth_address
$ sdptool browse 00:AA:13:41:11:A5
Browsing ...
Service Name: SerialPort
Service RecHandle: 0x1000f
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 6
Profile Descriptor List:
"Serial Port" (0x1101)
Version: 0x0102
Sending text to the printer
Via CLI
Format: phomemo_printer -a bluetooth_address -c bluetooth_channel -t "text to print"
phomemo_printer -a 00:AA:13:41:11:A5 -c 6 -t "Hello world"
Via module import
from phomemo_printer.ESCPOS_printer import Printer
printer = Printer(bluetooth_address="00:AA:13:41:11:A5", channel=6)
printer.print_text("Hello world")
printer.close()
Sending images to the printer
Format: phomemo_printer -a bluetooth_address -c bluetooth_channel -i "/path/to/image.png"
You can increase or decrease the brightness of the image using -b <float> - numbers < 1.0 decrease the brightness, and > 1.0 increase it.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phomemo_printer-1.0.5.tar.gz.
File metadata
- Download URL: phomemo_printer-1.0.5.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e1f4555334b3d3ad671dfc6f052bdd75140d8fb0fe5ce22cb56cdd610713633
|
|
| MD5 |
fc5f0b32c9baf3e2113226f9ab0259f9
|
|
| BLAKE2b-256 |
8d7f0b76d7268b45fc4f8338ffacd10bebfdc80920a7318b4db78358b46afa59
|
File details
Details for the file phomemo_printer-1.0.5-py3-none-any.whl.
File metadata
- Download URL: phomemo_printer-1.0.5-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f02951f6081e4e44a3f0233ecf26c2ea3aedfb404226141271676bad402aa0de
|
|
| MD5 |
40bb013b5981e18d65784734273cdc1e
|
|
| BLAKE2b-256 |
6cb728f58c837796b1f37360d5c5bfbf2b3d5fa7cd06b1040392487e2ec045f5
|