Código de BarrasCreación e Impresión de Código de Barras utilizando Fuentes Personalizadas ( True Type )
Fecha: 12/Ene/2006 (11/Ene/2006)
|
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.
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.
- La creación de nuestra fuente a través de un archivo .TTF ( True Type Font File )
- Y la utilización de la misma tanto en un documento impreso como por pantalla.
Código Principal.
- Creación de una fuente personalizada:
// 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); }
- Muestra el Código de Barras por Pantalla utilizando una Label:
// 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 el código de Barras:
// 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)