Skip to main content

Print text as a raster bit image from a Phomemo printer.

Project description

Phomemo printer - python utilities to allow printing text 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.

Various methods to connect to the Phomemo printer and print images are excellently described here. This package currently only allows connection to the printer via bluetooth.

Tools were tested on a Phomemo M02 Pro printer.

Requirements

  • python3
  • bluetooth interrogation tools (e.g. via the bluez package)

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.

  1. 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.

  1. 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()

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

phomemo_printer-1.0.3.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

phomemo_printer-1.0.3-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file phomemo_printer-1.0.3.tar.gz.

File metadata

  • Download URL: phomemo_printer-1.0.3.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.3

File hashes

Hashes for phomemo_printer-1.0.3.tar.gz
Algorithm Hash digest
SHA256 61485480f9cc11d5ef02d54e77f511840d420245baaa57d9d8b2600201299ea8
MD5 2df1dfb70a34a081a6744cee56430618
BLAKE2b-256 b4b4dec89dd790889f1f818a61953362853b08d6f44c83c343f633d951a96b43

See more details on using hashes here.

File details

Details for the file phomemo_printer-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: phomemo_printer-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.3

File hashes

Hashes for phomemo_printer-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2103b352edfbe174c29ebb92539c08d0423f2222395faaafdc8a4a9709e9899d
MD5 bff615a1fe2bdee8a60fccced880715e
BLAKE2b-256 496fe6e852b2bbf58c3780c8ac7619a24df8346f7f6f785b3a87a01f7bbb9e1d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page