Implement a Tauri command print_target_cups that accepts a printer name and TIFF file path.
Submit the print job directly to the CUPS spooler using the -o raw option to prevent CUPS filters from touching the colour data.
(macOS specific): Research if bypassing ColorSync requires dropping down to PrintCore framework APIs, or if raw CUPS queues are sufficient.
### Objective
Implement the macOS and Linux raw printing backend to bypass ColorSync and CUPS PPD colour management.
### Tasks
- [x] Evaluate the [`cups-rs`](https://crates.io/crates/cups-rs) and [`printers`](https://crates.io/crates/printers) crates.
- [x] Implement a Tauri command `print_target_cups` that accepts a printer name and TIFF file path.
- [x] Submit the print job directly to the CUPS spooler using the `-o raw` option to prevent CUPS filters from touching the colour data.
- [x] (macOS specific): Research if bypassing ColorSync requires dropping down to PrintCore framework APIs, or if raw CUPS queues are sufficient.
gronod
added this to the Milestone 6: Native Raw OS Printing Engine milestone 2026-08-23 10:24:20 +01:00
Implemented in branch feature/issue-27-cups-raw-print and submitted in Pull Request #30.
Built CUPS parser for lpstat -e, lpstat -p, lpstat -d.
Implemented get_cups_printers and print_target_cups (with raw mode and PPD uncorrected fallback).
Added comprehensive unit tests and verified with cargo test suite.
Implemented in branch `feature/issue-27-cups-raw-print` and submitted in Pull Request #30.
- Built CUPS parser for `lpstat -e`, `lpstat -p`, `lpstat -d`.
- Implemented `get_cups_printers` and `print_target_cups` (with raw mode and PPD uncorrected fallback).
- Added comprehensive unit tests and verified with cargo test suite.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement the macOS and Linux raw printing backend to bypass ColorSync and CUPS PPD colour management.
Tasks
cups-rsandprinterscrates.print_target_cupsthat accepts a printer name and TIFF file path.-o rawoption to prevent CUPS filters from touching the colour data.Implemented in branch
feature/issue-27-cups-raw-printand submitted in Pull Request #30.lpstat -e,lpstat -p,lpstat -d.get_cups_printersandprint_target_cups(with raw mode and PPD uncorrected fallback).