Preguntas frecuentes sobre TBarCode en aplicaciones web
Mejorar la calidad del código de barras para impresoras de etiquetas en ASP.NET
Mejorar la calidad del código de barras para impresoras de etiquetas en ASP.NET
Si imprime códigos de barras desde el navegador en impresoras de etiquetas térmicas, a menudo se encuentra con problemas de calidad. Las barras no tienen el mismo ancho y no están adaptadas a la resolución de salida. Para evitar aberraciones en el ancho de barra, debe encontrar una correspondencia exacta de píxeles entre la resolución de 96 dpi del navegador y la de 203 dpi de la impresora. Para códigos de barras lineales, la solución es la siguiente:
- Creación del mapa de bits: cree el mapa de bits del código de barras a 203 dpi con un ancho de módulo optimizado (2 o 3 píxeles). Haga que todo el mapa de bits tenga exactamente 3 o 4 pulgadas de ancho (= 3 * 203 píxeles o 4 * 203 píxeles) añadiendo espacio en blanco según sea necesario.
- Escalado del mapa de bits: muestre la imagen del código de barras en el navegador con un ancho de exactamente 3 o 4 pulgadas (= 3 * 203 píxeles o 4 * 203 píxeles), según lo que haya seleccionado durante la creación del mapa de bits.
- Esto creará un código de barras alineado a píxeles con una trama de 203 dpi y buena legibilidad.
El siguiente código C# de ASP.NET muestra cómo implementar esta optimización con TBarCode .NET.
double dpi = 203; // printer resolution (8 lines/mm) int numberOfPixels = 3; // number of pixels for 1 module (= 0.375 mm) double moduleWidth = numberOfPixels * 25.4 / dpi; // module width in mm BCControl.Barcode.Dpi = dpi; // 1 bitmap pixel = 1 module BCControl.Barcode.SizeMode = TECIT.TBarCode.SizeMode.CustomModuleWidth; BCControl.Barcode.ModuleWidth = (float) (moduleWidth + 0.001); BCControl.Barcode.AdjustModuleWidthToPixelRaster = true; BCControl.Width = new Unit(96 * 4, UnitType.Pixel); // always a multiple of 96 !!!
Al imprimir el código de barras, asegúrese de tener desactivado el escalado del navegador (o configurado al 100 %). Asegúrese también de que el tramado o las semitonos de imagen estén desactivados en el controlador de la impresora.