escl-rs

**A Rust library for discovering and using scanners via the [eSCL protocol](https://mopria.org/spec-download) (scanning over network)** [![crates-badge](https://img.shields.io/crates/v/escl.svg)](https://crates.io/crates/escl) ## Features - [x] LAN service discovery - [x] Scanner capabilities - [x] Scanner status - [x] Scan via the _Pull Scan_ model ## Example The [example](./examples/scan.rs) uses multicast DNS to look for scanners in LAN for 5 seconds, and scans using the first discovered scanner. There's no need to pre-configure scanner IP address. The output image is saved as `scan.jpg` in the current directory. To run the example: ```console cargo run --example scan ``` > [!NOTE] > > `escl-rs` supports any scanner URLs, including HTTPS. The use of LAN here is just for simplicity of the example, and to demonstrate LAN discovery capabilities. ## License Licensed under either of - Apache License, Version 2.0 ([LICENSE-APACHE](./LICENSE-APACHE) or ) - MIT license ([LICENSE-MIT](./LICENSE-MIT) or ) at your option.