Printer Controller¶
The Printer Controller is a compact Windows server designed to manage all printers and print jobs seamlessly. It enables one-click printing from any device—computer, tablet, or smartphone—across Android, iOS, Windows, Mac, or Linux platforms. No need to install printer drivers on individual devices; the printer controller handles everything.
Important
Printer controllers are provided by Gem Logic. Upon request, we will configure the device for your specific setup and ship it directly to you ready to use. Contact Gem Logic support to order a printer controller.
How It Works¶
The printer controller continuously monitors your Gem Logic instance for incoming print jobs:
A user clicks a print button in Gem Logic (e.g., print receipt, print product label)
A print job is created and stored in the system with status Pending
The printer controller polls for pending print jobs every few seconds
When a job is retrieved, the controller routes it to the configured printer
The job status changes to Completed
The connection status indicator shows whether the printer controller is actively connected (polling within the last 15 seconds).
Setup¶
To set up the printer controller:
Connect the printer controller to your network via Ethernet cable
Power on the device
The controller automatically connects to your Gem Logic instance
For printers:
Network printers: The controller automatically detects printers on the same network
USB printers: Connect directly to the printer controller via USB
Configuration¶
To configure printers, go to . Each marketplace can have its own printer configuration.
General Settings¶
Name: A friendly name for this printer configuration
Marketplace: The marketplace this configuration applies to
Active: Enable or disable this printer configuration
Document/A4 Printer¶
For printing standard documents like invoices, quotes, and order forms.
Document printer name: The exact name of the printer as it appears in Windows (e.g.,
HP LaserJet Pro)
Certificate Printer¶
For printing certificates and documents that may require special handling.
Certificate printer name: The printer name for certificate printing
Certificate landscape: Enable to print certificates in landscape orientation
Certificate ZC300 printer: Enable if using a Zebra ZC300 card printer for certificates (prints as BMP image)
Product Label Printer¶
For printing product labels, typically on Zebra label printers using ZPL (Zebra Programming Language).
Product label printer name: The printer name for labels
Product label width: Label width in dots (default: 448 dots = ~56mm at 203 DPI)
Product label length: Label length in dots (default: 104 dots = ~13mm at 203 DPI)
Product label Zebra printer: Enable for Zebra ZPL-compatible printers
Custom ZPL Label Design¶
You can customize the label layout using ZPL commands in the Custom Zebra product label design field. Available variables:
Variable |
Description |
|---|---|
|
Product brand name |
|
Product SKU code |
|
EAN/barcode for QR code |
|
Product price |
|
Currency symbol |
|
|
|
Supplier’s product reference |
|
Supplier reference code |
|
Label length (auto-filled from settings) |
|
Product dimensions |
|
Product serial number |
|
Year of manufacture |
A preview image is automatically generated when you save the design.
Repair Label Printer¶
For printing repair job labels.
Repair label printer name: The printer name for repair labels
Repair label small: Enable for smaller label format
Repair label height: Custom label height (optional)
Receipt Printer¶
For printing receipts on thermal printers (e.g., Epson TM-T20III).
Receipt printer name: The printer name for receipts
Receipt header: Custom text printed at the top of receipts
Receipt footer: Custom text printed at the bottom (e.g., business details, return policy)
Receipt width: Number of characters per line (default: 48)
Receipt logo BMP file: Upload a monochrome BMP file for the receipt logo
Receipt printer IN EP: Input endpoint for USB communication (advanced)
Receipt printer OUT EP: Output endpoint for USB communication (advanced)
Note
The IN/OUT endpoints are for direct USB communication with Epson ESC/POS printers. Only configure these if you’re using USB connection and need raw printing.
Managing Print Jobs¶
View all print jobs at . Each job shows:
Status (Pending, Completed, Error)
Printer name
Creation time
Associated printer configuration
Debugging¶
Tip
First steps when experiencing printer issues:
Go to
Click Reset Print Queue to clear any stuck jobs
If the issue persists, click Reset Printer Controller to restart the service
These two actions resolve most printer controller issues.
Basic Printer Checks¶
Before troubleshooting, verify the following on each printer:
Printer is powered on and not showing any error lights (red or orange)
Paper or label rolls are not empty and are properly loaded
Printer cover is fully closed - many printers won’t print if the cover is open or not latched correctly
No paper jams - check for stuck paper or labels inside the printer
Printer is online - not in pause or offline mode
Tip
Most printer issues are caused by empty paper, open covers, or the printer being in an error state. Always check these first!
Connection Issues¶
Printer controller not connected:
Check that the printer controller is powered on and connected to the network
Verify the controller can reach your Gem Logic instance (no firewall blocks)
The connection indicator turns green when the controller polls successfully (within 15 seconds)
Print jobs stuck in Pending:
Check if the printer controller is connected (green indicator)
Use the Reset Print Queue button to clear stuck jobs
Verify the printer name matches exactly what Windows shows
Printer Name Issues¶
The printer name in Gem Logic must exactly match the printer name as shown in Windows:
On the printer controller PC, open
Copy the exact printer name including any model numbers or network suffixes
Paste this name in the corresponding field in Gem Logic
Warning
Printer names are case-sensitive. HP LaserJet is different from HP Laserjet.
Reset Options¶
Two reset options are available in printer settings:
Reset Print Queue: Clears all pending print jobs for configured printers. Use when jobs are stuck.
Reset Printer Controller: Restarts the printer controller service. Use when the controller is unresponsive.
Receipt Printer Issues¶
Logo not printing:
Ensure the logo is a monochrome BMP file (1-bit color depth)
Recommended size: 384 pixels wide for 58mm thermal printers
Characters garbled or wrong encoding:
The system uses ISO-8859-15 encoding which supports Euro symbols
Ensure the receipt printer supports ESC/POS commands
Cash drawer not opening:
Verify the cash drawer is connected to the receipt printer’s kick-out port
The receipt printer must support cash drawer commands
Label Printer Issues¶
Labels not printing correctly:
Verify label dimensions match physical labels (width and length in dots)
At 203 DPI: 1 inch = 203 dots, 1 mm ≈ 8 dots
Use the ZPL preview to verify label design before printing
QR codes not scanning:
Ensure sufficient quiet zone around the QR code
Increase QR code size in the ZPL design if needed
Verify the
{ean_code}variable contains valid data