Repository navigation
Releases
Releases · andresrobinson/simple-printer-bridge
v1.0.0
🎉 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!