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
| Target | API | List printers | List jobs | Print bytes and text files | Print PDF,images, etc... |
|---|---|---|---|---|---|
| Unix | cups | ✅ | ✅ | ✅ | ✅ |
| Windows | winspool | ✅ | ✅ | ✅ | 🤔** |
** On Windows this lib use RAW datatype to process printing by default. Expected output depends of printer firmware.
👇 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, &'static str>
Create print job of an file
let job_id = printer.print_file;
// Result<u64, &'static str>
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
⏳ Future
- GhostScript option conversion support