C# UPC-A Generator Library SDK
Integration & Developer Guide for UPC-A linear barcode image generation in C#
Generate barcode UPC-A images in Visual C# .NET with complete sample C# source cod
In this tutorial, you learn how to generate, print UPC-A barcode images in .NET using C#.
How to create UPC-A barcodes in ASP.NET, Windows app using C#
- Generate, create UPC-A, UPC-A+2, UPC-A+5 in Visual C# .NET applications
- Easy to install & integrate barcode UPC-A 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# Code 39,
C# Code 128,
C# EAN
- Generate UPC-A images in C# class library
- Create barcode UPC-A in C# ASP.NET web application
- Print UPC-A barcode in C# Windows Form software
- Draw UPC-A in SQL Server Reporting Services (SSRS) & Crystal Reports for .NET projects
- Easy to encode UPC-A to jpeg, gif, png, tiff, bitmap image files in C# program
C# UPC-A Generator Introduction

Top
UPC-A, also known as Universal Product Code version A , UPC Code, UPC Symbol, GTIN-12, GS1-12, UCC-12, is the most common and well-known barcode symbology in the United States.
C# UPC-A Generator is one of the functions in OnBarcode's
Barcode for .NET Generation Controls, which supports generating & printing UPC-A and 20+ other linear & 2D bar codes for C# applications.
OnBarcode C# Barcode Generator makes it easy to generate, create UPC-A and other linear & 2d barcodes in Microsoft Word. Here are some detailed tutorials for C# UPC-A generation and data encoding, size & image setting.
UPC-A Generator library, SDK & application
OnBarcode provides several
UPC-A Generator components and software, including
.NET UPC-A,
Java UPC-A,
VB.NET UPC-A,
ASP.NET UPC-A,
UPC-A Generator.
This document is providing a detailed C# source code about generating UPC-A barcodes in C# class using
C# Barcode generation component. Complete UPC-A custmoization settings is included in
C# UPC-A generation guide.
How to calculate UPC-A check digit using C#?

Top
Barcode UPC-A checksum digit is based on a module 10 calculation,
based on the weighted sum of the values of each of the digits in the UPC number system, menufacturer code, and product code.
The steps below explain how to calculate UPC-A checksum digit.
- Consider the right-most digit of the message to be in an "odd" position, and assign odd/even to each character moving from right to left.
- Sum the digits in all odd positions, and multiply the result by 3.
- Sum the digits in all even positions.
- Sum the totals calculated in steps 2 and 3.
- The check digit is the number which, when added to the totals calculated in step 4, result in a number evenly divisible by 10.
- If the sum calculated in step 4 is evenly disivisible by 10, the check digit is "0" (not 10).
For example, UPC-A barcode data is "12345678901", and its correct check digit sum is "2".
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Step 1 |
odd |
even |
odd |
even |
odd |
even |
odd |
even |
odd |
even |
odd |
Step 2 & 3 |
3 |
2 |
9 |
4 |
15 |
6 |
21 |
8 |
27 |
0 |
3 |
Step 4 |
Total is 98 |
Step 5 |
The next number of 98 is 100, which will be evenly divisible by 10. |
Step 5 |
So the check digit is 2. (100-98=2) |
Create UPC-A Barcodes in C#

Top
Creating UPC-A 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 upca = new Linear();
// Barcode data to encode
upca.Data = "12345678912";
// Barcode symbology type
//upca.Type = BarcodeType.UPCA;
upca.Type = BarcodeType.UPCA_2;
// This property is not working in UPC-A.
// According to UPC-A specification, our library will always encode checksum for you.
upca.AddCheckSum = true;
/*
UPC-A Barcode Supplement 2, 5 digits
*/
// UPC-A supplement data, 2 digits or 5 digits
upca.SupData = "12";
// This is a multiplicator of the bar height (Y); The default is 0.8 (80%).
upca.SupHeight = 0.8f;
// The separation between the barcode and the supplement barcode. Default is 15 pixel.
upca.SupSpace = 15;
/*
* Barcode Image Related Settings
*/
// Unit of meature for all size related setting in the library.
upca.UOM = UnitOfMeasure.PIXEL;
// Bar module width (X), default is 1 pixel;
upca.X = 1;
// Bar module height (Y), default is 60 pixel;
upca.Y = 60;
// Barcode image left, right, top, bottom margins. Defaults are 0.
upca.LeftMargin = 0;
upca.RightMargin = 0;
upca.TopMargin = 0;
upca.BottomMargin = 0;
// Image resolution in dpi, default is 72 dpi.
upca.Resolution = 72;
// Created barcode orientation.
//4 options are: facing left, facing right, facing bottom, and facing top
upca.Rotate = Rotate.Rotate0;
/*
* Linear barcodes human readable text styles
*/
// Display human readable text under the barcode
upca.ShowText = true;
// Display checksum digit at the end of barcode data.
upca.ShowCheckSumChar = true;
// Human readable text font size, font family and style
upca.TextFont = new Font("Arial", 9f, FontStyle.Regular);
// Space between barcode and text. Default is 6 pixel.
upca.TextMargin = 6;
// Generate UPC-A and encode barcode to gif format
upca.Format = System.Drawing.Imaging.ImageFormat.Gif;
upca.drawBarcode("C:\\upca.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