1 个不稳定版本
0.0.1 | 2023年11月15日 |
---|
#37 in #product-os
120KB
2K SLoC
Product OS : 打印服务器
Product OS : 打印服务器提供基于IPP协议1.1版本的完整功能的IPP打印服务器。
什么是Product OS?
Product OS是一组包的集合,提供不同工具和功能,可以协同工作,以便于在Rust生态系统中更容易地构建产品。
安装
使用Rust包管理器cargo来安装Product OS : 打印服务器。
cargo add product-os-print-server
或者将Product OS : 打印服务器添加到您的cargo.toml [packages]
部分。
product-os-print-server = { version = "0.0.1", features = [], default-features = true, optional = false }
功能
Product OS 打印服务器通过利用现有的Rust库支持许多功能,以仅使用配置的方式连接API
- 建立IPP或IPPS打印服务器
- 支持使用Bonjour(Zeroconf)进行自动发现
- 支持基本打印操作,包括打印、取消和查询
- 提供处理打印作业的辅助特质 - 允许自定义处理打印请求内容的行为
为了充分利用打印服务器,您应该使用Product OS : 服务器crate。
// Feature samples TODO
使用
use std::str::FromStr;
use std::sync::Arc;
use parking_lot::Mutex;
pub fn main() {
let config = product_os_configuration::Configuration::from_file("./config.json");
let mut server = product_os_server::ProductOSServer::new_with_config_sync(config.clone());
let printer = Arc::new(Mutex::new(product_os_print_server::ProductOSIPPServer::new(String::from("test-ipp-printer-jd"), String::from("ipp://127.0.0.1:8443/"), 8443, false, Arc::new(print_processor::PrintProcessor::new()))));
server.add_feature_service_mut_sync(printer.clone(), None);
match server.start_sync() {
Err(e) => println!("Error occurred: {}", e),
Ok(r) => println!("Server Started: {:?}", r)
};
}
贡献
目前还没有贡献,但很快将在公共仓库上提供。
许可
依赖
~16–26MB
~694K SLoC