Repository navigation
π Simple Print Server v1.0.0 - First Release
We're excited to announce the first release of Simple Print Server - a lightweight, Python-based alternative to QZ Tray for thermal printers!
β¨ What is Simple Print Server?
Simple Print Server is a local print server that bridges your web browser and thermal printers. Unlike QZ Tray, it requires no certificates or signing - just install and run!
Perfect for:
- πͺ Store sales systems
- π§Ύ POS (Point of Sale) applications
- π Restaurant order systems
- π¦ Any web application needing thermal printer support
π Key Features
Core Functionality
- β Multiple Printer Support - Connect and print to multiple printers simultaneously (perfect for counter + kitchen setups)
- β Cross-Platform - Works on Windows, Linux, and macOS
- β Easy Integration - Simple JavaScript client library for browser integration
- β ESC/POS Support - Full support for ESC/POS thermal printer commands
- β Receipt Printing - Built-in receipt formatting with headers, items, totals, and footers
Connection Options
- π USB Printers - Direct USB connection support
- π Serial/COM Port - Serial port printer support
- π Network Printers - IP-based network printing
- π» Windows System Printers - Use any Windows-installed printer
User Experience
- π₯οΈ System Tray Mode - Run in background on Windows (optional)
- π Auto-Start - Optional Windows startup integration
- π Comprehensive Documentation - Complete API docs, troubleshooting guide, and examples
- π― Simple Setup - One-click installation scripts for Windows
π¦ What's Included
Server Components
server.py- Main Flask server (console mode)server-tray.py- System tray version for Windowsprint-client.js- JavaScript client libraryexample.html- Demo page with full examples
Installation Scripts
- Windows:
install.bat,install.ps1 - Cross-platform:
install.py - System tray dependencies:
install-tray.bat,install-tray.ps1
Documentation
README.md- Complete installation and usage guideAPI.md- Full API referenceTROUBLESHOOTING.md- Common issues and solutionsCONTRIBUTING.md- Contribution guidelines
GitHub Integration
- Issue templates for bugs and feature requests
- Pull request template
- MIT License
π― Quick Start
Windows
- Run
install.bat - Run
start-server.bat - Open
example.htmlin your browser
Linux/macOS
python install.py
python server.pyπ Documentation
- README.md - Installation and usage guide
- API.md - Complete API reference
- TROUBLESHOOTING.md - Solutions for common issues
π§ Requirements
- Python 3.7 or higher
- Core dependencies: Flask, flask-cors, python-escpos, pyusb
- Optional (for system tray): pystray, Pillow
π Example Usage
// Connect to printer
const printer = new SimplePrintClient('http://localhost:8888');
const printers = await printer.listPrinters();
await printer.connectByName(printers[0].id, 'counter');
// Print receipt
await printer.printReceipt('counter', {
header: 'RECEIPT',
storeName: 'My Store',
items: [
{ name: 'Item 1', quantity: 2, price: 10.99 }
],
total: 21.98,
footer: 'Thank you!'
});π Acknowledgments
- Built as an alternative to QZ Tray for users who don't need certificate signing
- Uses python-escpos for ESC/POS command support
π License
MIT License - See LICENSE for details
Ready to get started? Check out the README.md for detailed installation instructions!
Found a bug or have a feature request? Please open an issue!
Want to contribute? See our Contributing Guide!