Colaboraciones en el Guille

Código de Barras

Creación e Impresión de Código de Barras utilizando Fuentes Personalizadas ( True Type )

 

Fecha: 12/Ene/2006 (11/Ene/2006)
Autor: Marckys ( Marc Rubiño )

 



Introducción.

Estaba yo ojeando los grupos de noticias de Microsoft y me fije en una consulta que pedía información de como crear Códigos de Barras. Este es un tema muy recurrente y no esta demasiado documentado.

No voy a entrar en la historia del código de barras ni a detallar todos los modelos que existen porque no es la finalidad de este artículo, ni tampoco es un tema que yo domine demasiado, pero para todos aquellos que les interese introducirse un poco más en este mundo pueden consultar estos links  arzp( Barcode )  y   wikipedia( Código de barras ) .

Un código de Barras no deja de ser una representación grafica de los mismos caracteres que utilizamos diariamente con nuestro teclado.

Código de Barras

Por eso exactamente la manera más fácil para poder crear nuestros propios códigos de Barras es mediante la utilización de las Fuentes True Type.  Hay muchas empresas que se dedican a vender fuentes de diversos temas, pero si buscas un poco seguro que puedes encontrar fuentes gratuitas por internet por ejemplo en   squaregear.net   o en barcode-1.net .

Otra cosa importante para tener en cuenta, es que para que un lector de Barras pueda leer nuestro código se le tiene que informar del comienzo y final de el mismo y esto se hace mediante los asteriscos ( * ) por ejemplo si tenemos el código ( 123456 ) y queremos que un escáner lo interprete correctamente, lo tendremos que formatear de esta manera (  *123456* )  más... .

Bueno ya esta bien de teoría y vamos a comenzar con nuestra pequeña práctica.

Aplicación de Muestra.

Esta aplicación es tan sencilla que solo cuenta con dos partes diferenciadas.

 

Aplicación de Ejemplo

 

Código Principal.

	// Carga una Nueva Fuente a partir de un fichero .TTF pasado como Parámetro.
	Private void CargarFuente( string fuente )
	{
  	    PrivateFontCollection pfc = new PrivateFontCollection();
  	    pfc.AddFontFile( PATH_FONTS  + @"\" + fuente);
   	    FontFamily fontFamily = pfc.Families[0];
   	   _Font = new Font( fontFamily,30);
	}
	

	// Si la Fuente no es null la carga en la label.
	if( _Font != null)
	{
	   lbBarCode.Font= _Font;
	   lbBarCode.Text = FormatBarCode( txtBarcode.Text );
	   lbCode.Text = FormatBarCode( txtBarcode.Text );
	}
   

	// Imprimir Utilizando un PrintDocument y la fuente personalizada.
	// FormatBarcode está añadiendo los asteriscos al código (*).
	Private void printDocument1_PrintPage( object  sender, System.Drawing.Printing.PrintPageEventArgs e)
	{
	   e.Graphics.DrawString( FormatBarCode( txtBarcode.Text ), _Font, Brushes.Black, 30,60);
	}
 

Bueno, como podéis comprobar no es nada complicado crearnos nuestra propia fuente y utilizarla en diferentes partes de nuestro proyecto. En la aplicación de muestra además se pueden visualizar diferentes tipos de BarCodes, seleccionándola desde una comboBox que se carga con las Fuentes alojadas en el directorio Fonts.

Espero que haya sido de utilidad esta práctica y se vea reflejado en las votaciones en PanoramaBox. :-))

 


Espacios de nombres usados en el código de este artículo:

System.Drawing.Text
System.IO

 


Fichero con el código de ejemplo: Marckys_BarCode.zip - (27) KB

(MD5 checksum: D2066A0C134CE1CBEB8A9827A4FC287B)


ir al índice principal del Guille