/Cat-Printer

A friendly "Cat Printer" program, for everyone!

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

English | Deutsch | 简体中文

Cat-Printer

🐱🖨 A project that provides support to some Bluetooth "Cat Printer" models, on many platforms!

cat-printer-poster

Models

Currently:

Supported GB0X, GT01, YT01

* X represents any digit

Features

Currently it's in development. More will be here soon!

  • Simple!

    • Operate via Web UI just in browser,
    • or get the Android release!
    • Even no problem with command line hackers!
  • Friendly!

    • Language support! You can participate in translation!
    • Good user interface, adaptive to PC/mobile and light/dark theme!
    • Accessibility features, everyone is considered!
  • Feature-rich!

    • Web UI, for most people!
      • Take full control of printer config
      • Print picture, or just test if it works
    • Command line, for geeks & hackers!
      • Control printer with a few parameters
      • Simplified image/text printing
      • Make use of every part of the program
    • Some other goodies!
      • Server program is also CUPS/IPP capable
  • Cross platform!

    • Newer Windows 10 and above
    • GNU/Linux
    • MacOS
    • and also Android!
  • Free, as in freedom!

    • Unlike the "original" proprietary app,
      this project is for everyone that concerns open-mind and freedom!
  • and Fun!

    • Do whatever you like!

Get Started

Android

Get the newest apk release and install, then well done!

It may ask for background location permission, you can deny it safely.
(Foreground) Location permission is required for scanning Bluetooth devices in newer Android system.

Windows

Get the newest release archive with "windows" in the file name,
extract to somewhere and run start.bat

GNU/Linux

You can get the "pure" release, extract it, fire a terminal inside and run:

python3 server.py

On Arch Linux based distros you may first install bluez, as it's often missing

sudo pacman -S bluez bluez-utils

Packaging is also on the way!

MacOS

For MacOS please install Python 3,
then install pyobjc and bleak via pip in terminal:

pip3 install pyobjc bleak

After that, fetch & use a "bare" release:

python3 server.py

Currently in Mac the browser will not pop up automatically. Please run manually and go to http://127.0.0.1:8095, or just click here.

Worth to Note

For all supported platforms,
You can also use "pure" edition once you have Python 3 installed,
or "bare" edition if you also managed to install bleak via pip.

If you like command-line, installing ImageMagick and Ghostscript could be very helpful.

See the releases now!

Problems?

Please use Issue or Discussion if there's something in your mind!

Of course Pull Requests are welcome if you can handle them!

License

Copyright © 2021-2022 NaitLee Soft. Some rights reserved.

See file COPYING, LICENSE, and detail of used JavaScript in file www/jslicense.html

Particularly, printer.py, server.py and main.js are released under GNU GPL 3.
Excluding contributions of other people (which probably have their own copyright) and possible third-party dependencies, all other parts are in Public Domain (CC0).


Development

You may interested in language support, anyway. See the translation files in directory www/lang and readme.i18n! Note: you can correct some mistakes in them, if there are any. Also feel free to make it (truly) better!

Also interested in code development? See development.md!

Credits

  • Of course, Python & the Web!
  • Bleak BLE lib! The overall Hero!
  • roddeh-i18n, the current built-in i18n is inspired by this
  • python-for-android, though there are some painful troubles
  • AdvancedWebView for saving my life from Java
  • Stack Overflow & the whole Internet, you let me know Android Activity all from beginning
  • ... Everyone is Awesome!