Code 39 for Java
Barcode Java > Barcode in Java > Linear > Code 39

Code 39 (also known as "USS Code 39", "Code 3/9", "Code 3 of 9", "USD-3", "Alpha39", "Type 39") is a barcode symbology that can encode uppercase letters (A through Z), digits (0 through 9) and a handful of special characters like the $ sign.

Code 39 is restricted to 44 characters. In Full ASCII Code 39 Symbols 0-9, A-Z, "." ,and "-" are the same as their representations in Code 39. Lower case letters, additional punctuation characters and control characters are represented by sequences of two characters of Code 39.

Java Barcode for Code-39 generates:
  • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • Uppercase letters (A - Z)
  • - (Dash), $ (Dollar), % (Percentage), (Space), . (Point), / (Slash), + (Plus)
Java Code-39 extension prints:
  • all 128 ASCII characters
Java Code-39 Barcode Generator - Common Questions

1. How to generate Code-39 barcodes in JSP & HTML pages?

  1. Copy "barcoding" folder contents to your Java Servlet container like Tomcat or JBoss's applications folder
  2. Restart your Java Servlet container
  3. Open your web browser like IE, Firefox, and navigate to http://localhost:8080/barcoding/linear?DATA=0123456789&TYPE=8
  4. To generate Code39 barcode images in JSP or HTML pages, insert the following html img tag code:
    <img src="http://localhost:8080/barcoding/linear?DATA=0123456789&TYPE=8" border=0 />

2. How to create Code-39 barcodes in Java Servlet?

        try {
            Barcode barcode = new Barcode();

            response.setHeader("Pragma", "no-cache");
            response.setHeader("Cache-Control", "no-cache");
            response.setDateHeader("Expires", 0);
            ServletOutputStream servletoutputstream = response.getOutputStream();


        } catch (Exception e) {
            throw new ServletException(e);

3. How to generate Code-39 barcodes in Java Class?

        Barcode barcode = new Barcode();

4. How to draw Code-39 barcodes to image files?

        Barcode barcode = new Barcode();

5. How to draw & print Code-39 barcodes to Java image objects or stream objects?

        Barcode barcode = new Barcode();
        barcode.drawOnGraphics("Graphics2D object");
        barcode.drawOnStream("OutputStream object");
Java Barcode Code-39 Generator - Barcode Property Settings

  • symbology : Barcode symbology type.

    Servlet Parameter: symbology; Default Value: Barcode.CODE128 (11)

  • code : Barcode encoding data value.

    Servlet Parameter: code; Default Value: ""

  • supplementCode : 2 or 5 digits Barcode supplement data for EAN-8, EAN-13, UPC-A, UPC-E, ISBN, ISSN only.

    Servlet Parameter: supplement-code; Default Value: ""

  • addChecksum : Apply Checksum digit at the end of some linear barcode value.

    Servlet Parameter: add-checksum; Default Value: false

Barcode Size

  • barcodeUnit : Unit of meature for all size related properties. 0: Pixel (default); 1: CM; 2: Inch.

    Servlet Parameter: barcode-unit; Default Value: 0 (UOM_PIXEL)

  • barWidth : bar module width, default is 3 pixel

    Servlet Parameter: bar-width; Default Value: 3

  • barHeight : bar module height, default is 60 pixel

    Servlet Parameter: bar-height; Default Value: 60

  • leftMargin : generated barcode image left margin

    Servlet Parameter: left-margin; Default Value: 0.0f

  • rightMargin : generated barcode image right margin

    Servlet Parameter: right-margin; Default Value: 0.0f

  • topMargin : generated barcode image top margin

    Servlet Parameter: top-margin; Default Value: 0.0f

  • bottomMargin : generated barcode image bottom margin

    Servlet Parameter: bottom-margin; Default Value: 0.0f

  • resolution : generated barcode image resolution in dpi

    Servlet Parameter: resolution; Default Value: 72 dpi

  • rotate : barcode rotate angle, valid values: 0 (ROTATE_0), 1 (ROTATE_90), 2 (ROTATE_180), 3 (ROTATE_270)

    Servlet Parameter: rotate; Default Value: 0 (ANGLE_0)

  • barcodeWidth

    Servlet Parameter: barcode-width; Default Value: 0

  • barcodeHeight

    Servlet Parameter: barcode-height; Default Value: 0

Barcode Text Style

  • displayText : set true to draw barcode value text under the barcode

    Servlet Parameter: display-text; Default Value: true

  • textFont : drawn barcode value text font style

    Servlet Parameter: text-font; Default Value: new Font("Arial", Font.PLAIN, 11)

For Code39, Code 2 of 5, Interleaved 2 of 5, ITF-14, Identcode & Leitcode

  • displayStartStopChar : for Barcode Code39 and Code39 extension only, draw start & stop char (*) in the beginning and end of code39

    Servlet Parameter: display-start-stop-char; Default Value: true

  • I : Width of intercharacter gap, This a multiple of X. For Code39 only.

    Servlet Parameter: i; Default Value: 1.0f

  • barRatio : Wide vs narrow bar width ratio, valid range 2.0 - 3.0 inclusive. For Code39, Code 2 of 5, Interleaved 2 of 5, ITF-14, Identcode & Leitcode

    Servlet Parameter: bar-ratio; Default Value: 2.0f

  • bearerBarStyle : For ITF-14 only, Barcode.BEARER_BAR_FRAME (1) or Barcode.BEARER_BAR_HORIZONTAL (2)

    Servlet Parameter: bearer-bar-style; Default Value: Barcode.BEARER_BAR_FRAME (1)

  • bearerBarWidth : For ITF-14 only, The bearer bar size. Valid values are 0-10 which are a multiple of barWidth.

    Servlet Parameter: bearer-bar-width; Default Value: 2.0f

Java Barcode Generator Supporting Barcode Symbology Types

Quick Links