PrintReactor Svelte Themes

Printreactor

Cross-platform document printing and conversion tool with batch processing. Open-source PrintConductor alternative built with Go + Wails + Svelte.

PrintReactor Logo

PrintReactor

License: AGPL v3 Go Version Wails

Note: This app is in very early development. Expect bugs, missing features, and rapid changes. Feedback and contributions are welcome!

A modern, cross-platform document printing solution with format conversion, inspired by the lack of open source alternatives to PrintConductor.

Why PrintReactor?

I created PrintReactor because I could not find any open source alternative to PrintConductor. This project aims to fill that gap and provide a free, community-driven, and extensible solution for batch printing and document conversion.

✨ Features

Document Conversion

  • Office Documents: DOCX, XLSX, PPTX, DOC, XLS, PPT
  • LibreOffice Formats: ODT, ODS, ODP
  • Spreadsheets: CSV, XLSM, XLSB
  • Presentations: PPS, PPSX, PPTM
  • Images: JPG, PNG, GIF, BMP, TIFF
  • Text Files: TXT, CFG, CONF, LOG, MD
  • Web: HTML (planned)
  • PDFs: Direct printing without conversion

Printing Capabilities

  • Multi-Method Fallback System: Automatically switches between RAW, PowerShell, and Shell Print methods for maximum printer compatibility
  • Legacy Printer Support: Works with older printers that don't support modern XPS/RAW modes
  • Batch Queue Management: Print multiple files in sequence
  • Modern UI: Dark/light theme support with Svelte 5
  • Cross-Platform: Windows, macOS, Linux support

πŸ“Έ Screenshots

Main interface with queue management

Batch printing in action

πŸ“‹ DEV Requirements

Windows

  • OS: Windows 10/11 (64-bit)
  • Go: 1.24.1 or later (for building from source)
  • LibreOffice: 7.0+ (recommended for office document conversion)
  • Node.js: 18+ and pnpm (for frontend development)

macOS (Not sure, I did not test on mac yet.)

[TODO]

Linux

  • OS: Ubuntu 20.04+, Fedora 35+, or equivalent
  • Go: 1.24.1 or later
  • LibreOffice: 7.0+ (required for office document conversion)
  • Dependencies: gtk3, webkit2gtk
  • Node.js: 18+ and pnpm

πŸ’Ύ Installation

Pre-built Binaries

Download from Releases

Build from Source

See BUILDING.md for detailed build instructions for all platforms.

Quick start:

# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest

# Clone and build
git clone https://github.com/cheikhhachem/PrintReactor.git
cd PrintReactor
cd frontend && pnpm install && cd ..
wails build # Or use wails dev for live changes

πŸš€ Usage

  1. Launch PrintReactor
  2. Add files via drag-and-drop or file picker
  3. Select printer from the dropdown
  4. Click Print to start the queue

Office File Conversion

  • Windows: LibreOffice (recommended) or Microsoft Office
  • macOS/Linux: LibreOffice (required)

πŸ”§ Troubleshooting

Conversion Issues

Problem: Office documents fail to convert or dont get added to the queue

  • Solution:
    1. Install LibreOffice: https://www.libreoffice.org/download/
    2. Ensure LibreOffice is in PATH or installed in default location
    3. On Windows: Check C:\Program Files\LibreOffice\program\soffice.exe

Problem: Conversion is slow

  • Solution: LibreOffice and specially Microsoft Office first-launch initialization can be slow. Subsequent conversions will be faster.

General Issues

Problem: Application won't start

  • Solution:
    1. Check Windows Event Viewer for errors
    2. Ensure .NET Framework 4.8+ is installed
    3. Try running as administrator

Need More Help?

  • Check GitHub Issues
  • Create a new issue with logs from %TEMP%\PrintReactor\ (Not implemented yet , but it will be in the near future.)

πŸ—οΈ Architecture

  • Backend: Go 1.24.1 with Wails v2 framework
  • Frontend: Svelte 5 + TypeScript + Vite + TailwindCSS 4
  • Printing: Multi-method fallback system (PowerShell β†’ RAW β†’ Shell Print)
  • Conversion: LibreOffice headless mode with smart polling
  • Temp Management: Cross-platform temp directory with delayed cleanup

For detailed architecture documentation, see docs/ARCHITECTURE.md.

πŸ—ΊοΈ Roadmap

Core Features (Completed)

  • βœ… Multi-format document conversion
  • βœ… Fallback printing system
  • βœ… Basic queue management
  • βœ… Temp file lifecycle management

Planned Features

  • HTML to PDF: Web page printing support
  • Logs: Proper logs and logging system that will allow us to track and find issues more easely
  • Enhanced UI: Drag-and-drop reordering in queue
  • Printer Settings: Custom DPI, orientation, paper size per job
  • PDF Generation: Save converted documents as PDF without printing
  • Print Profiles: Save/load printer/local configurations
  • Notification System: Desktop notifications for job completion
  • Scheduled Printing: Time-based print job execution

Not Planed yet, but mabe in consideration

  • Multi-Language Support: i18n with more translations
  • Print History: View and reprint previous jobs
  • Plugin System: Extensible architecture for custom converters
  • Cloud Integration: Print from cloud storage (Google Drive, Dropbox)
  • Print Server Mode: Network-based print queue sharing

Community Requests

Have a feature idea? Open an issue with the enhancement label!

🀝 Contributing

See CONTRIBUTING.md and CODE_OF_CONDUCT.md.

We welcome contributions of all kinds:

  • πŸ› Bug reports and fixes
  • ✨ New features and enhancements
  • πŸ“– Documentation improvements
  • 🌍 Translations
  • πŸ§ͺ Test coverage

πŸ“„ License

GNU Affero General Public License v3.0 - See LICENSE

This means:

  • βœ… Free to use, modify, and distribute
  • βœ… Can use in commercial projects
  • ⚠️ Must disclose source code when distributing
  • ⚠️ Network use is considered distribution (AGPL requirement)

πŸ‘€ Author

Cheikh Hachem

πŸ™ Acknowledgments

πŸ“Š Project Status

  • Development Status: Early Beta
  • Stability: Experimental
  • Production Ready: Not yet recommended
  • Active Development: Yes

Top categories

Loading Svelte Themes