#printing #driver #pos #esc #tspl

tspl2

适用于TSPL/TSPLv2兼容热敏标签打印机的简单驱动程序

3个版本 (破坏性更新)

0.3.0 2024年7月17日
0.2.0 2024年7月10日
0.1.0 2024年6月21日

硬件支持中排名第379

Download history 144/week @ 2024-06-20 14/week @ 2024-06-27 80/week @ 2024-07-04 120/week @ 2024-07-11 50/week @ 2024-07-18 15/week @ 2024-07-25 2/week @ 2024-08-01

每月下载量137

MIT授权

54KB
1.5K SLoC

tspl2

处理热敏标签打印机的库,由TSPL/TSPL2语言控制

示例

Rust

查看:simple.rs

use anyhow::Result;
use tspl2::{Alignment, Barcode, Font, HumanReadable, NarrowWide, Printer, Rotation, Size, Tape};

fn main() -> Result<()> {
    // Get access to the printer
    std::process::Command::new("sudo")
        .args(["chmod", "777", "/dev/usb/lp0"])
        .output()?;

    let tape = Tape {
        width: Size::Metric(30.0),
        height: Some(Size::Metric(20.0)),
        gap: Size::Metric(2.0),
        gap_offset: None,
    };

    let mut printer = Printer::with_resolution("/dev/usb/lp0", tape, 300)?;
    printer
        .cls()?
        .qrcode(
            Size::Metric(9.0),
            Size::Metric(0.0),
            35,
            6,
            Rotation::NoRotation,
            None,
            "0123456789AB",
        )?
        .text(
            Size::Metric(15.0),
            Size::Metric(14.5),
            Font::Font24x32,
            Rotation::NoRotation,
            1,
            1,
            Some(Alignment::Center),
            "0123456789AB",
        )?
        .print(1, None)?;

    printer
        .cls()?
        .barcode(
            Size::Metric(15.0),
            Size::Metric(0.0),
            Barcode::Barcode39,
            Size::Metric(15.0),
            HumanReadable::ReadableAlignsToCenter,
            Rotation::NoRotation,
            NarrowWide::N1W3,
            Some(Alignment::Center),
            "0123456789AB",
        )?
        .print(1, None)?;

    Ok(())
}

依赖项

~1.5MB
~41K SLoC