C# Code 39 Generator Library SDK
Integration & Developer Guide for Code 39 linear barcode image generation in C#
"This .NET suite helps my team a lot, a bunch of time being saved. OnBarcode support is awesome, and we couldn't ask more than this."
- Bill Twain, Canada
Generate barcode Code 39 images in Visual C# .NET with complete sample C# source code
- Generate, create Code 39 in Visual C# .NET applications
- Easy to install & integrate barcode Code 39 generation library SDK into C# developments
- Generate over 30 linear, 2d barcode images in C#.NET including C# QR Code, C# Data Matrix, C# PDF-417, C# ITF14, C# Code 128, C# EAN, C# UPC-A
- Generate Code 39 images in C# class library
- Create barcode Code 39 in C# ASP.NET web application
- Print Code 39 barcode in C# Windows Form project
- Draw Code 39 in SQL Server Reporting Services (SSRS) & Crystal Reports for .NET projects
- Easy to encode Code 39 images to jpeg, gif, png, tiff, bitmap files in C# program
- Compatible with ISO / IEC 16388 (2nd edition 2007-05-15)
Code 39 Barcode Introduction

Top
Code 39, also known as Alpha39, Code 3 of 9, Code 3/9, Type 39, USS Code 39, or USD-3, is the first alpha-numeric linear barcode symbology used world-wide.
C# Code 39 Generator is one of the linear barcodes generation in OnBarcode's
.NET Barcode Generation Controls, which generates & prints Code 39,
Code 39 extension and other linear & 2D bar codes in C#.NET applications.
OnBarcode C# Barcode Generator makes it easy to generate, create Code 39 and other linear & 2d barcodes in Microsoft Word.
OnBarcode offers several Code 39 Generator components and software, such as
Code 39 in .NET,
Code 39 in Java,
Code 39 in VB.NET,
Code 39 in ASP.NET,
Code 39 Generator.
This page is providing a complete C# source code for generating Code 39 barcode images in C# class library using
C# Barcode generation .net SDK. Complete Code 39 custmoization settings is listed in
C# Code 39 generation guide.
Code 39 barcode data characters encoding using C#

Top
Code 39 standard mode
Code 39 barcode standard mode supports
43 characters, including
- Numeric digit: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Uppercase letters (A - Z)
- Special characters: - (Dash), $ (Dollar), % (Percentage), (Space), . (Point), / (Slash), + (Plus)
- Start/Stop character
In C# code 39 barcode generator, you need choose barcode Type property value "BarcodeType.CODE39".
Linear code39 = new Linear();
code39.Type = BarcodeType.CODE39;
//Input your barcode encoding data:
code39.Data = "ABC-12345";
Code 39 Full ASCII mode
Code 39 supports encoding the full 128 character ASCII character set in accordance with ISO 646 IRV.
In C# code 39 barcode generator, you need choose barcode Type property value "BarcodeType.CODE39EX".
Linear code39 = new Linear();
code39.Type = BarcodeType.CODE39EX;
//Input your barcode encoding data:
code39.Data = "abc-12345";
Code 39 barcode check digit
Code 39 barcode does not include a checksum or check digit by default.
For applications requiring enhanced data security, the modulo 43 (MOD43) check character may be used as a check digit.
You can view the
barcode Code 39 check digit calculator in details
In C#, to add checksum digit to Code 39 barcode, you need set property AddCheckSum to true.
Linear code39 = new Linear();
code39.Type = BarcodeType.CODE39;
//Input your barcode encoding data:
code39.Data = "ABC-123";
code39.AddCheckSum = true;
Do not display Code 39 barcode check digit in HRI
You can also enable code 39 check digit, and hide it in the HRI (human readable interpretation).
In C# class, you need set property ShowCheckSumChar to false.
// Display checksum digit at the end of barcode data.
code39.ShowCheckSumChar = false;
Code 39 barcode Start/stop characters
Code 39 barcode uses asterisk character (*) as Start and Stop characters, and it should not be part of the Code 39 barcode data.
In C# class, you can display or hide start/stop characters (asterisk *) through property ShowStartStopInText.
code39.ShowStartStopInText = false;
Code 39 Barcode Dimension Size in C#

Top
In C# Code 39 generator, you can use the following barcode dimension size settings:
- UOM: Unit of measure. You can choose PIXEL, CM or INCH.
- X: Width of narrow element. The mimumum bar width is defined by the application specification
- Y: Bar module height.
- N: Wide/narrow ratio. the valid value is from 2.0 to 3.0 inclusive.
- I: Width of intercharacter gap
- minimum gap is equal to X
- maximum: for X < 0.287mm, is 5.3X; for X >= 0.287mm, is 1.52mm or 3X, whichever is greater.
- LeftMargin, RightMargin: Quiet zone. the minimum width of quiet zone is 10X.
An example C# source code to set Code 39 barcode image size.
Linear code39 = new Linear();
code39.Type = BarcodeType.CODE39;
//Input your barcode encoding data:
code39.Data = "ABC-123";
code39.AddCheckSum = true;
// Unit of measure, pixel, cm and inch supported.
code39.UOM = UnitOfMeasure.PIXEL;
code39.X = 3;
code39.Y = 120;
code39.N = 3.0f;
code39.I = 1.2f;
code39.LeftMargin = 30;
code39.RightMargin = 30;
Example: How to Create Code-39 barcode in C# class

Top
Creating Code-39 barcode in C# class example:
using System;
using System.Collections.Generic;
using System.Text;
using OnBarcode.Barcode;
using System.Drawing.Imaging;
using System.Drawing;
Linear code39 = new Linear();
// Barcode data to encode
code39.Data = "ONBARCODE";
// Barcode symbology type
code39.Type = BarcodeType.CODE39;
// Apply checksum digit for Code-39
code39.AddCheckSum = true;
// The space between 2 characters in code 39; This a multiple of X; The default is 1.
code39.I = 1.0f;
// Wide/narrow ratio, 2.0 - 3.0 inclusive, default is 2.
code39.N = 2.0f;
// If true, display a * in the beginning and end of barcode text
code39.ShowStartStopInText = false;
/*
* Barcode Image Related Settings
*/
// Unit of meature for all size related setting in the library.
code39.UOM = UnitOfMeasure.PIXEL;
// Bar module width (X), default is 1 pixel;
code39.X = 1;
// Bar module height (Y), default is 60 pixel;
code39.Y = 60;
// Barcode image left, right, top, bottom margins. Defaults are 0.
code39.LeftMargin = 0;
code39.RightMargin = 0;
code39.TopMargin = 0;
code39.BottomMargin = 0;
// Image resolution in dpi, default is 72 dpi.
code39.Resolution = 72;
// Created barcode orientation.
//4 options are: facing left, facing right, facing bottom, and facing top
code39.Rotate = Rotate.Rotate0;
/*
* Linear barcodes human readable text styles
*/
// Display human readable text under the barcode
code39.ShowText = true;
// Display checksum digit at the end of barcode data.
code39.ShowCheckSumChar = true;
// Human readable text font size, font family and style
code39.TextFont = new Font("Arial", 9f, FontStyle.Regular);
// Space between barcode and text. Default is 6 pixel.
code39.TextMargin = 6;
// Generate Code-39 and encode barcode to gif format
code39.Format = System.Drawing.Imaging.ImageFormat.Gif;
code39.drawBarcode("C:\\code39.gif");
/*
You can also call other drawing methods to generate barcodes
public void drawBarcode(Graphics graphics);
public void drawBarcode(string filename);
public Bitmap drawBarcode();
public void drawBarcode(Stream stream);
*/
More C# Barcode Generation Tutorials for Each Barcode

Top
Barcode Control for C#.NET - Bar Code Type Generation