How to Fix Misaligned or Unreadable Koha Labels

Diagnose Koha label problems in order: PDF geometry, scaling, offsets, sheet creep, clipped bars, skipped labels, and scanner output.

Inspect the exported PDF before changing the printer profile. A clipped PDF cannot be repaired by shifting the paper, and a wrong-size print should not be corrected with a Koha offset.

Software verified: Koha 25.11.04, 2026-11-12, with synthetic demo items. Physical printer and scanner: not tested. The example below is a known software baseline, not a proven fix for every device.

1. Record the failure

Keep the original PDF and note the Koha version, template, layout, profile, stock number, driver, PDF reader, and print settings. Measure the error at the first and last labels. Change one setting at a time and export a fresh PDF after each Koha change.

Symptom Start here
Content is already missing in the PDF Template dimensions, text margins, layout scaling
Everything prints smaller or larger Actual-size setting, driver media size, page-per-sheet setting
Every label shifts equally Page geometry, then printer-profile offsets
Error increases along a row or down a sheet Label pitch and gaps, then creep
Roll advances blank labels or skips Stock compatibility, loading, boundary detection, driver size
Bars look intact but scanning fails Encoding, quiet zones, print quality, exact decoded value
Quick spine formatting ignores the PDF layout Quick-label preferences, CSS, browser print setup

2. Establish a PDF baseline

Our three-page barcode sample uses:

Setting Tested value
Units Inches
Page and label width / height 2 / 1
Columns / rows 1 / 1
Top / left page margins; column / row gaps All 0
Top / left text margin 0.25 / 0.10
Profile No Profile
Encoding / printing type Code 39 / Only the barcode is printed
Barcode width / height 0.80 / 0.012
Font / size / justification Helvetica / 10 / Left
List fields itemcallnumber (unused in barcode-only mode)
Split call numbers / guide boxes / oblique title Off / Off / Off

Saved barcode layout used for the software baseline

The PDF contains KSDEMO0001 through KSDEMO0003, each on a 2 × 1 inch page. All three decoded exactly at 300 and 600 dpi. Compare your PDF’s dimensions and visible content with the intended stock; do not use demonstration identifiers on real books.

3. Eliminate scaling before offsets

Select the matching driver paper size, 100% / Actual size, and one PDF page per physical page. Disable Fit, Shrink, and multiple-pages-per-sheet. Check orientation in the preview.

Print a plain-paper test where possible and measure a known distance. If the printed distance is wrong, correct scaling or media selection first. An offset moves content; it does not restore its size.

4. Distinguish a fixed shift from creep

For an equal shift everywhere, first check the template’s page margins and printable area. Then create a dedicated Printer profile for that printer, tray, and stock. Record the measured horizontal and vertical displacement in explicit units; apply one offset, export, and compare. Verify the direction with a small test rather than assuming the sign.

For increasing error, check the physical label pitch: label width plus column gap, or label height plus row gap. On the tested Avery sheet, horizontal pitch is 2.75 inches and vertical pitch is 1 inch.

Only investigate profile creep after geometry and scale are correct. Leave creep at zero for a one-label-per-page template. No numeric printer offset or creep correction is recommended here because no physical displacement was measured.

5. Check clipping and crowded text

Look at the first and last bars, quiet space on both sides, readable value, and longest identifier. A layout that fits a short value may crowd a longer one.

During the text-layout test, a 0.10 inch top text margin placed the large first line against the PDF edge. Increasing it to 0.25 inch gave the tested Helvetica 10- and 12-point examples visible clearance. This is a software geometry correction, not printer calibration.

Barcode height is an exporter scaling parameter, not simply a percentage of the label. Use the tested height only with its stated label size. If there is not enough room for both text and bars, use a larger label or separate spine and barcode labels.

6. Diagnose skipped labels outside Koha

Use the printer’s feed or self-test procedure without Koha. Confirm compatible media, loading direction, sensor/index alignment, and the exact driver size. If it skips during the manufacturer’s test, address that before changing the PDF. Follow the manufacturer’s cleaning instructions rather than experimenting with solvents or feed mechanisms.

7. Check what the scanner actually sends

Scan a physical label into a plain text field. Compare the whole value with Koha, including leading zeros and letters. Check configured prefixes, suffixes, and barcode symbology support. A visible number is not proof that the bars encode the same number.

If a value is truncated or changes, investigate scanner configuration before editing item records. If nothing decodes, check quiet zones, clipped or broken bars, density, stock, and printer quality. Finally, search Koha with the scanned value and confirm the correct copy.

Stop collection-wide printing until a small batch passes both visual inspection and scanning. Software raster decoding does not prove a physical scanner will work.

Sources: Koha 25.11 Label creator and printer profiles. Full series, sample exports, and verification limits.

Next Steps

More in Koha System

Was this article helpful?

Thanks for your feedback!