Skip to main content

tauri_plugin_thermal_printer/models/
printer_options.rs

1use crate::commands_esc_pos::text::code_page::CodePage;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct PrinterOptions {
6    pub cut_paper: bool,
7    pub beep: bool,
8    pub open_cash_drawer: bool,
9    /// Página de código para la impresora. Define qué idioma/caracteres se usarán.
10    /// Por defecto: `CodePage::Default` (CP437, ASCII puro).
11    #[serde(default)]
12    pub code_page: CodePage,
13}
14
15impl Default for PrinterOptions {
16    fn default() -> Self {
17        Self {
18            cut_paper: true,
19            beep: false,
20            open_cash_drawer: false,
21            code_page: CodePage::Default,
22        }
23    }
24}
25
26impl PrinterOptions {
27    pub fn assign(&mut self, cut_paper: bool, beep: bool, open_cash_drawer: bool) {
28        self.cut_paper = cut_paper;
29        self.beep = beep;
30        self.open_cash_drawer = open_cash_drawer;
31    }
32}