45 lines
1.1 KiB
Rust
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();
|
|
}
|