#printing #pos #driver #esc

escposify

A ESC/POS driver for Rust ## Minimum Rust version policy (MSRV) This crate's minimum supported rustc version is 1.46.0

12 releases

0.6.0 Mar 3, 2024
0.5.2 Oct 26, 2022
0.5.1 May 3, 2022
0.4.1 Dec 6, 2020
0.1.0 Apr 29, 2016

#187 in Hardware support

Download history 1/week @ 2024-02-13 17/week @ 2024-02-20 150/week @ 2024-02-27 27/week @ 2024-03-05 12/week @ 2024-03-12 16/week @ 2024-03-26 62/week @ 2024-04-02

92 downloads per month

MIT license

37KB
715 lines

escposify-rs

A ESC/POS driver for Rust

Documentation

Most ESC/POS Printers will appear as a file. To print to the device, open a file to the location and pass this to the File::from function.

To enable this in Windows, install the printer and its driver. Share the printer and specifiy a name for it (Receipt Printer in this case). The printer will then be accessable via \\%COMPUTERNAME%\Receipt Printer. To test this in the command line:

echo "Hello World" > testfile
copy testfile "\\%COMPUTERNAME%\Receipt Printer"
del testfile

Examples

Rust

See: simple.rs

extern crate escposify;
extern crate tempfile;

use std::io;

use escposify::device::File;
use escposify::printer::Printer;

use tempfile::NamedTempFileOptions;

fn main() -> io::Result<()> {
    let tempf = NamedTempFileOptions::new().create().unwrap();

    let file = File::from(tempf);
    let mut printer = Printer::new(file, None, None);

    printer
        .chain_font("C")?
        .chain_align("lt")?
        .chain_style("bu")?
        .chain_size(0, 0)?
        .chain_text("The quick brown fox jumps over the lazy dog")?
        .chain_text("敏捷的棕色狐狸跳过懒狗")?
        .chain_barcode("12345678", "EAN8", "", "", 0, 0)?
        .chain_feed(1)?
        .chain_cut(false)?
        .flush()
}

Dependencies

~17MB
~124K SLoC