Tasman Software

Tasman.Bars.Net

Barcode Reader .Net SDK

Contents

Introduction
Code 39 Specification
Demonstration
FAQs
Clients
Pricing and Ordering
Evaluation
Disclaimer
Copyright
Java
Acknowledgements

Introduction

The core of the barcode decoder SDK is the .Net library Tasman.Bars.dll. This library identifies and reads barcodes contained within System.Drawing.Bitmap instances. It provides an easy route to giving .Net applications a barcode reading ability.

Specification

PDF417

.Net Prerequisites

One of:

Barcode Symbologies

Alternative forms for some of the above symbology names for the benefit of search engines: Code11, Code-11, Code128, Code-128, Code32, Code-32, Code39, Code-39, Code93, Code-93, DataMatrix, i2of5,ITF, EAN13, EAN-13, EAN8, EAN-8, Micro-QR, PDF-417, PDF 417, QRCode, RM4SCC, RSS14, UPCA, UPC-A, UPCE, UPC-E.

Code 128

Demonstration

One of the .Net Prerequisites, or alternatively, the Redistributable Runtime must be installed in order for the demonstration to run.

Download

(Right) Click here to download the demonstration .Net Windows executable: BarDemo.exe (~700k)

Installation

  1. Create a new directory, with a name of your choice, at any convenient level in your directory structure.
  2. Place the file BarDemo.exe in the directory created in step 1.
Data Matrix

Execution

Execute BarDemo.exe in the same way as other Windows executables (e.g. double-clicking the filename).

When first run, BarDemo.exe creates a file readme.html in the program directory created in step 1 above. This is a copy of this page. A few sample barcode image files, including those shown on this page, are also created in subdirectories of the program directory.

Un-Installation

The above procedure makes no changes to the system beyond the creation of the new directory and its contents. To uninstall, simply delete the directory created in step 1 above.

FAQs

What image file types are supported?

Any file type compatible with System.Drawing.Bitmap. To read barcodes from an image an application creates a System.Drawing.Bitmap instance that encapsulates the required image, and invokes a method in the Tasman.Bars library passing a reference to the Bitmap instance as the method argument. An application that can create a System.Drawing.Bitmap instance can, whatever the format of the image source file, pass the Bitmap to Tasman.Bars.

The BarDemo executable creates bitmaps from image files using:

OpenFileDialog ofd = new OpenFileDialog(); if ( ofd.ShowDialog() == DialogResult.OK ) { Bitmap bm = new Bitmap( ofd.FileName ); ... }

and successfully loads and reads barcodes from image files of the following types:

Data Matrix

 

BMP

Windows BMP

 

GIF

Graphics Interchange Format

 

JPEG

Joint Photographic Experts Group

 

EXIF

Exchangeable Image File

 

PNG

Portable Network Graphics

 

TIFF

Tagged Image File Format

 

WMF

 Windows MetaFile

 

EMF

 Enhanced MetaFile

 

DIB

 Device Independent Bitmap

What is the 'safe=slow' checkbox in the BarDemo toolbar?

The Tasman.Bars library incorporated into BarDemo.exe utilises 'unsafe' code - code that uses pointers to access image data - to minimise the time taken to decode images. The SDK is supplied with two versions of the library: the one which uses 'unsafe' code and one which does not. When this checkbox is checked the 'unsafe' code in the Tasman.Bars library incorporated into BarDemo.exe is not executed; this gives an accurate indication of the performance of the 'safe' version of the library.

I want to test BarDemo with many of my images. Does it have a batch mode?

The Open dialog allows multiple selection of files within a single directory. The toolbar options (symbologies and read directions) should be set before selecting multiple files as in this case reading begins as soon as the dialog is affirmatively closed.

My images can contain several barcodes, but I only need to read particular ones.

The library reports all the barcodes (of the symbology or symbologies that you specify) that it finds in an image. These barcodes are returned as an array. It is simple to loop through this array and just extract particular barcodes based on, for example, the position of the barcodes within the image, or the data that they encode.

QR Code

Can Tasman.Bars cope with any orientation of barcodes within images?

Yes. Before reading an image you specify a read direction - one or more of right, left, up, down. The library will normally successfully identify barcodes that are rotated up to 45 degrees from the read direction. So if you specify all four read directions, the library should identify barcodes at any orientation. (But reading in all four directions takes longer than just one direction).

You can try this out with BarDemo.exe: scan some images that include barcodes and save them as GIFs or JPEGs. They can then be opened with BarDemo.exe. Note the checkboxes in the BarDemo.exe toolbar that are used to specify the read direction.

Postal barcodes (e.g. Planet, Postnet, and RM4SCC) must normally be aligned within around five degrees of the horizontal or vertical.

Does Tasman.Bars report the position and orientation of barcodes within images?

Yes. For each barcode identified in the image, a property gives the read direction (right, left, up down). Further properties specify the start and end edges of the barcode (the red lines in the diagram at right), from which it is straightforward to calculate the angular orientation of the barcode. (The green rectangle is the bounding rectangle - given by yet another property).

Does Tasman.Bars run under the .Net Compact Framework?

Yes. The SDK includes a Compact Framework version of the Tasman.Bars library. See here for details, and to download a Compact Framework demonstration application.

Is Tasman.Bars thread safe?

Yes.

What is included in the SDK?

EAN13

Clients

Here is a list of some of the current licensees.

Pricing and Ordering

See www.tasman.co.uk/netbars/pricing.html

Purchase of a license gives distribution rights - you do not have to purchase runtime licenses to distribute Tasman.Bars with your application(s).

Evaluation

An evaluation SDK can be supplied free of charge to companies and organizations. Request an evaluation SDK.

Disclaimer

Data Matrix

There is no warranty that the Tasman.Bars library will successfully read a barcode in an image, nor that it will not report barcodes that do not in reality exist in the image. The demonstration program BarDemo.exe incorporates Tasman.Bars; potential licensees are advised to use the demonstration program to obtain an indication of the suitability of the library for their application.

Copyright

The library Tasman.Bars and the application BarDemo.exe are copyright © 2002-2007 Robin Thomson trading as Tasman Software.

Tasman is a registered trademark of the above.

Use and distribution of the Tasman.Bars library is restricted to licensees of the library, excepting that the demonstration application BarDemo.exe is freely distributable in unaltered form only and as a free standing application only.

EAN13

Java

Tasman Barcode Reader Java SDK

Acknowledgements

Data Matrix is a trademark of Robotic Vision Systems Inc.

Intelligent Mail is a registered trademark of the United States Postal Service.

.Net is a registered trademark of Microsoft Inc.

Other trademarks are the property of their respective owners.


I2of5


bars@tasman.co.uk
This document resides at http://www.tasman.co.uk/netbars/readme.html