citizen_zpl_printer/README.md
2026-01-26 11:26:45 +07:00

49 lines
1.9 KiB
Markdown

# Citizen ZPL Printer for Odoo
This module allows direct ZPL printing from Odoo to Citizen Label Printers (e.g., CL-S621, CL-S631) via a network connection (socket). It provides a wizard to select lots and quantities before printing.
## Features
* **Direct Printing**: Sends ZPL commands directly to the printer's IP address.
* **Print Wizard**: Select specific lots and quantity of labels to print from a Stock Picking.
* **Customizable Layout**: Configure label size, margins, and content size in dots.
* **Image Support**: Print Company Logo and a Custom Image (e.g., "Fragile" icon).
* **Barcode Support**: Prints Code128 and Datamatrix/GS1 barcodes.
## Configuration
Go to **Settings > Inventory > Citizen ZPL Printer**.
### 1. Connection
* **IP Address**: The IP address of your printer.
* **Port**: Port number (default is 9100).
### 2. Label Dimensions (Dots)
Configure the physical size of your label.
* **Formula (203 DPI)**: `1 mm ≈ 8 dots`
* **Example (60mm x 30mm)**:
* Width: 480 dots
* Height: 240 dots
### 3. Content Settings
* **Font Size**: Height of the text in dots (30 dots ≈ 3.75mm).
* **Barcode Height**: Height of the barcode in dots.
* **Module Width**: Density of the barcode (Default 2).
### 4. Images
* **Print Company Logo**: Prints the company logo at the bottom center.
* **Custom Image**: Upload an additional image to print at the bottom right.
## Usage
1. Open a **Stock Picking** (Transfer) in "Done" state.
2. Click the **Print ZPL Barcode** button.
3. A wizard will open listing all lots in the picking.
4. Adjust the **Copies** (Quantity) for each lot if needed.
5. Click **Print**.
## Technical Details
* **DPI**: This module is optimized for 203 DPI printers. For 300 DPI, multiply dot values by ~1.5.
* **ZPL Template**: The ZPL code is generated using QWeb view `citizen_zpl_printer.label_citizen_template_view`.