ILC Barcode API

Multi-library barcode generation. A simple GET returns SVG, PNG, BMP, or JPEG.

Libraries

Generic endpoint

GET /barcode/{library} — maps query params onto the library.

ParamMeaning
datarequired — content to encode
typesymbology (default qrcode) — see library list above
formatsvg | png | bmp | jpeg (default png; also honors Accept)
width / heightrequested output size in px
marginquiet-zone in modules
scaleinteger pixel multiplier (1–64)
eccQR error-correction L|M|Q|H
charsetcharacter set hint
shapeDataMatrix only: square (default) | rectangle | none
gs1true to treat data as GS1

Simplified GS1 endpoint

GET /gs1/{library} — inserts FNC1 / group separators for you. Defaults to GS1 DataMatrix.

Try it

DataMatrix is square by default. Pass shape=rectangle for a rectangular symbol, or shape=none to let ZXing choose. Size 2D symbols with scale (pixels per module); 1D symbols with width/height.

Using from iReport / JasperReports

Drop an Image element on the band, set its Expression Class to java.net.URL, and use PNG output. Concatenate your fields into the URL. The host below matches whatever address you loaded this page from (https://report-barcode.ilcdev.com).

URL + YOUR DATA — for the GS1 DataMatrix (PO + ship number):

new java.net.URL(
  "https://report-barcode.ilcdev.com" +
  "/gs1/zxing?type=datamatrix&format=png&scale=6" +
  "&po="   + $F{customer_po} +
  "&ship=" + $F{ship_num}
)

Generic Code 128 from a single field:

new java.net.URL(
  "https://report-barcode.ilcdev.com" +
  "/barcode/zxing?type=code128&format=png" +
  "&data=" + $F{my_value}
)

The GS1 po/ship values are plain alphanumerics, so no URL-encoding is needed. For the generic data= param, URL-encode if your value may contain spaces or symbols.