FAQ TBarCode nelle applicazioni Web
Migliorare la qualità del codice a barre per stampanti di etichette in ASP.NET
Migliorare la qualità del codice a barre per stampanti di etichette in ASP.NET
Se stampate codici a barre dal browser su stampanti termiche per etichette, spesso riscontrate problemi di qualità. Le barre non sono uniformi in larghezza e non sono adattate alla risoluzione di output. Per evitare aberrazioni nella larghezza delle barre dovete trovare una corrispondenza esatta dei pixel tra la risoluzione del browser a 96 dpi e quella della stampante a 203 dpi. Per i codici a barre lineari la soluzione è la seguente:
- Creazione bitmap: create la bitmap del codice a barre a 203 dpi con larghezza modulo ottimizzata (2 o 3 pixel). Rendete l'intera bitmap larga esattamente 3 o 4 pollici (= 3 * 203 pixel o 4 * 203 pixel) aggiungendo spazio bianco secondo necessità.
- Ridimensionamento bitmap: visualizzate l'immagine del codice a barre nel browser con una larghezza esattamente di 3 o 4 pollici (= 3 * 203 pixel o 4 * 203 pixel) a seconda di quanto selezionato durante la creazione della bitmap.
- Questo creerà un codice a barre allineato ai pixel su una griglia a 203 dpi e una buona leggibilità.
Il seguente codice ASP.NET C# mostra come implementare questa ottimizzazione 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 !!!
Quando stampate il codice a barre, assicuratevi che il ridimensionamento del browser sia disattivato (o impostato al 100%). Assicuratevi inoltre che il dithering delle immagini o la mezzatinta siano disattivati nel driver della stampante.