Implemented: Queues, QR Codes, BARCodes

Implemented QR and barcode
This commit is contained in:
Jurn Wubben 2025-09-24 17:32:07 +02:00
parent 410e203f9e
commit 280d2fcbab
2 changed files with 255 additions and 41 deletions

View file

@ -2,7 +2,9 @@ mod dithering;
mod escpos;
use image::{ImageError, ImageReader};
use std::{env, fs, io, io::Write, process};
use std::{env, process};
use crate::escpos::Printer;
fn main() {
let args: Vec<String> = env::args().collect();
@ -18,10 +20,22 @@ fn main() {
.and_then(|v| v.decode())
.unwrap();
let mut escpos = escpos::escpos_raster(&img, Some(escpos::ImageOrientation::Largest), Some(0));
for _ in 0..2 {
escpos.push('\n' as u8);
}
let mut printer = Printer::new();
let job = printer.new_job().unwrap();
// job.write_qr("hi".to_string(), None, None).unwrap();
job.write_barcode(
"hhhhhhhhhhh".to_string(),
None,
None,
None,
Some(escpos::BARType::UPCA),
)
.unwrap();
// job.write_bitmap(&img, None, None).unwrap();
job.ready = true;
io::stdout().write(&escpos).unwrap();
println!("{}", printer.queue.len());
let mut out = std::fs::File::create("/dev/usb/lp0").unwrap();
printer.print_job(&mut out).unwrap();
}