Skip to content

v1.0.0

Latest

Choose a tag to compare

@andresrobinson andresrobinson released this 01 Dec 22:36

πŸŽ‰ 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 Windows
  • print-client.js - JavaScript client library
  • example.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 guide
  • API.md - Full API reference
  • TROUBLESHOOTING.md - Common issues and solutions
  • CONTRIBUTING.md - Contribution guidelines

GitHub Integration

  • Issue templates for bugs and feature requests
  • Pull request template
  • MIT License

🎯 Quick Start

Windows

  1. Run install.bat
  2. Run start-server.bat
  3. Open example.html in your browser

Linux/macOS

python install.py
python server.py

πŸ“š Documentation

πŸ”§ 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!