#image #printing #raster #label #command #brother #ql

brother_ql

从图像生成 Brother QL Raster 命令数据

5 个稳定版本

1.0.4 2024年6月28日
1.0.3 2024年3月8日
1.0.1 2024年3月7日

#359 in 图像

每月 35 次下载

MIT 许可证

23KB
487

brother_ql

这是一个将图像数据转换为 Brother QL-820NWB 标签打印机理解的 Raster 命令二进制数据的 crate。

  • 它仍在开发中,所以可能还存在一些错误。
  • 目前仅支持 820NWB 打印机,但其他打印机应该相对容易添加 - 尤其是同系列的 8xx 型号。
  • 支持双色(红色和黑色)打印模式
  • 有关详细信息,请参阅官方 Raster 命令参考

以下是一个使用示例

use std::{error::Error, fs::File, io::Write};

use brother_ql::{
    printjob::{CutBehavior, PrintJob},
    media::Media,
};

pub fn main() -> Result<(), Box<dyn Error>> {
    let img = image::open("test.png")?;
    let job = PrintJob {
        no_pages: 1,
        image: img,
        media: Media::C62,       // use 62mm wide continuous tape
        high_dpi: false,
        compressed: false,       // unsupported
        quality_priority: false, // no effect on two-color printing
        cut_behaviour: CutBehavior::CutAtEnd,
    };
    let data = job.compile()?;
    let mut file = File::create("test.bin")?;
    let _ = file.write(&data);
    // We can now send this binary directly to the printer, for example using `nc`
    Ok(())
}

依赖关系

~6MB
~86K SLoC