Printers: A printing APIs implementation for unix (cups) and windows (winspool).
Provides all system printers, create and manage print jobs.
Documentation
See the references in docs.rs.
🛠️ Features
| Feature | Status |
|---|---|
| List available printers | ✅ |
| List printer jobs | ✅ |
| Manage printer jobs (pause, resume, cancel, restart) | ✅ |
| Print plain text | ✅ |
| Print PDF, images etc... (*1) | ✅ |
| Converters (Ghostscript) | ✅ |
| DOCx / XLS / PPTx converter | ⏳ |
| Converter pipeline (doc -> pdf -> ps) | ⏳ |
*1 If necessary, you can raster the file using converters supported by the lib, such as Ghostscript. See the examples below.
👇 Examples
Get all available printers
let printers = get_printers;
// Vec<Printer>
Create print job of an byte array
let job_id = printer.print;
// Result<u64, PrintersError>
Create print job of an file
let job_id = printer.print_file;
// Result<u64, PrintersError>
Get a printer by name
let my_printer = get_printer_by_name;
// Option<Printer>
Get the default printer
let printer = get_default_printer;
// Option<Printer>
Manage state of printer job
// Pause
printer.pause_job;
// Resume
printer.resume_job;
// Restart
printer.restart_job;
// Cancel
printer.cancel_job