358 Label Printing

Label Printing

Product labels with price and barcode, or address labels - on standard A4 label sheets, single labels from a thermal roll, or 4 x 6 inch courier shipping labels. Each label is drawn at an exact position in millimetres.

Products

SKUProductPriceLabels
EQP-LAM A4 Laminator + 100 pouches 1,650.00
EQP-SCAN Barcode Scanner USB 1D/2D 1,890.00
EQP-LBL4 Thermal Label Printer 4 inch 6,500.00
EQP-POS80 Thermal Receipt Printer 80 mm 4,990.00
INK-BK-680 Ink Cartridge Black 680 690.00
INK-CL-680 Ink Cartridge Tri-colour 680 790.00
INK-HP26A Toner Cartridge HP 26A 2,950.00
LBL-A4-21 Label Sheets A4 21-up (100 sheets) 590.00
LBL-PRICE Price Tag Labels (10 rolls) 160.00
LBL-SHIP-46 Shipping Labels 4 x 6 in (500) 690.00
LBL-TH-5030 Thermal Labels 50 x 30 mm (1,000) 250.00
OFF-PEN50 Ballpoint Pen Blue (box of 50) 250.00
OFF-CLIPS Binder Clips Assorted (box) 120.00
OFF-STAPLE Heavy Duty Stapler 590.00
PKG-BUBBLE Bubble Wrap 1 m x 50 m 890.00
PKG-BOX-S Kraft Mailer Box S 12.00
PKG-TAPE48 Packing Tape 48 mm 45.00
PAP-A4-80 A4 Copy Paper 80 gsm 145.00
PAP-CERT-50 Certificate Paper, ivory 50 sheets 380.00
PAP-ENV-DL Envelope DL, white (100) 220.00
PAP-TH-5740 Thermal Receipt Roll 57 x 40 mm 18.00
PAP-TH-8080 Thermal Receipt Roll 80 x 80 mm 32.00
PRT-BRO-A4 Brochure A4 Tri-fold (100) 1,200.00
PRT-BC-100 Business Card Printing (100 cards) 350.00
PRT-STAMP Custom Rubber Stamp 350.00
PRT-POS-A2 Poster A2 Full Colour 450.00
How it works
  • A layout is a grid in millimetres: label width/height, top-left offset and gaps (LabelPdfService.Layout).
  • PDF coordinates start at the bottom-left, so row r sits at y = pageHeight - top - (r+1) x labelHeight.
  • Text goes into a box with ColumnText (wraps and clips); barcodes are PNG images placed with setAbsolutePosition.
  • Print label sheets at 100% / Actual size - "Fit to page" shrinks everything and the labels no longer line up.
float x = mm(layout.left + col * (layout.labelW + layout.gapX));
float y = mm(layout.pageH - layout.top - (row + 1) * layout.labelH - row * layout.gapY);
Rectangle box = new Rectangle(x, y, x + mm(layout.labelW), y + mm(layout.labelH));
ColumnText ct = new ColumnText(cb);
ct.setSimpleColumn(box.getLeft(), box.getBottom(), box.getRight(), box.getTop());
ct.addElement(new Paragraph(product.getName(), Fonts.bold(8)));
ct.go();

Files: service/LabelPdfService.java.