FAQ TBarCode в веб-приложениях
Улучшение качества штрихкодов для принтеров этикеток в ASP.NET
Улучшение качества штрихкодов для принтеров этикеток в ASP.NET
При печати штрихкодов из браузера на термопринтерах этикеток часто возникают проблемы с качеством. Штрихи неравномерны по ширине и не подстроены под разрешение вывода. Чтобы избежать искажений ширины штрихов, необходимо добиться полного совпадения пикселей между разрешением браузера 96 dpi и разрешением принтера 203 dpi. Для линейных штрихкодов решение выглядит так:
- Создание растрового изображения: создайте растровое изображение штрихкода с разрешением 203 dpi и оптимизированной шириной модуля (2 или 3 пикселя). Сделайте всё изображение шириной ровно 3 или 4 дюйма (= 3 * 203 пикселя или 4 * 203 пикселя), добавив при необходимости пустое пространство.
- Масштабирование изображения: отображайте изображение штрихкода в браузере с шириной ровно 3 или 4 дюйма (= 3 * 203 пикселя или 4 * 203 пикселя) в зависимости от того, что вы выбрали при создании растрового изображения.
- Это создаст штрихкод, выровненный по пикселям для растра 203 dpi, с хорошей читаемостью.
Следующий код ASP.NET C# показывает, как реализовать эту оптимизацию с 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 !!!
При печати штрихкода убедитесь, что масштабирование браузера отключено (или установлено на 100%). Также убедитесь, что в драйвере принтера отключено сглаживание или полутонирование изображения.