printserv/src/main.rs

45 lines
1.1 KiB
Rust

mod dithering;
mod escpos;
use image::{ImageError, ImageReader};
use std::{env, process};
use crate::escpos::{
job::{BARTextPosition, BARType},
printer::Printer,
};
fn main() {
let args: Vec<String> = env::args().collect();
let len = args.len();
if len < 2 || len > 2 {
println!("Please provide a path to the image.");
process::exit(1);
}
let img = ImageReader::open(&args[1])
.map_err(|err| ImageError::IoError(err))
.and_then(|v| v.decode())
.unwrap();
let mut printer = Printer::new(384);
let job = printer.new_job().unwrap();
job.write_feed(Some(2));
// job.write_barcode(
// "kleintje".to_string(),
// Some(10),
// None,
// Some(BARTextPosition::Both),
// Some(BARType::CODE128),
// )
// .unwrap();
job.write_bitmap(&img, None, None).unwrap();
job.write_feed(Some(2));
job.ready = true;
// println!("{:?}", job.content);
let mut out = std::fs::File::create("/dev/usb/lp0").unwrap();
printer.print_job(&mut out).unwrap();
}