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 = 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(); }