🖨️ esc/pos implementation in gleam
1import escpos
2import escpos/document
3import escpos/image
4import escpos/printer
5import simplifile
6
7pub fn main() {
8 let assert Ok(raw_pgm) = simplifile.read_bits(from: "./dev/lucy.pgm")
9 let assert Ok(raw_pbm) = simplifile.read_bits(from: "./dev/lucy.pbm")
10
11 let assert Ok(imgpgm) = image.from_pgm(raw_pgm)
12 let assert Ok(imgpbm) = image.from_pbm(raw_pbm)
13 let imgpgm =
14 imgpgm
15 // |> image.dither_ign
16 |> image.dither_bayer4x4(0)
17 // |> image.dither_bayer2x2(0)
18
19 // let assert Ok(printer) = printer.connect("10.219.160.62", 9100)
20 let assert Ok(printer) = printer.device("/dev/usb/lp0")
21
22 // let assert Ok(_) =
23 // escpos.new()
24 // |> escpos.reset
25 // |> escpos.image(imgpgm)
26 // |> escpos.image(imgpbm)
27 // |> escpos.line_feed(3)
28 // |> escpos.cut
29 // |> printer.print(printer)
30
31 let assert Ok(_) =
32 document.render([
33 document.styled([document.justify(document.Between(40, "."))], [
34 document.text("hello"),
35 document.text("world"),
36 ]),
37 document.line_feed(5),
38 document.cut(),
39 ])
40 |> printer.print(printer)
41 // printer.disconnect(printer)
42}