FAQ TBarCode DLL / TBarCode Library
Comment ajouter une barre de renfort (bearer bar) à un ITF-14 ?
Comment ajouter une barre de renfort (bearer bar) à un ITF-14 ?
La forme et la taille de la barre de renfort dépendent de la surface d'impression et de l'application. Les tailles possibles pour la largeur de module, la hauteur du code-barres et la barre de renfort figurent dans la spécification GS1, figure 5.3.6-1.
Nous présentons ci-dessous deux cas avec différentes dimensions du code-barres et de la barre de renfort :
Barres de renfort en haut et en bas
L'ITF-14 peut être dessiné avec une barre de renfort en haut et en bas si vous utilisez des étiquettes (pas de plaques d'impression). Dans ce cas, la barre de renfort peut être plus petite, mais doit être d'au moins 2 fois la largeur de module.
BCSetBCType(m_pbarCode, eBC_ITF14);
// #1 print on label
// 203 dpi ➞ Module Width = 0.5005 mm = 4 Pixel per Module
double const dModuleWidth = 0.5004926F; // use exact value
// 300/600/1200 dpi ➞ Module Width = 0.508 mm
// double const dModuleWidth = 0.508F;
BCSetModWidthN(m_pbarCode, dModuleWidth * 1000); // set in 0.001 mm units
double const dModulesBearerBar = 2.0F; // 2 times the module width
BCSetBearerBarType(m_pbarCode, eBearerBar_TopAndBottom);
BCSetBearerBarWidth(m_pbarCode, static_cast<int> (dModulesBearerBar * dModuleWidth * 1000)); // set in 0.001 mm units
RECTD QZRect = { 10, 0, 10, 0 };
BCSetQuietZone(m_pbarCode, &QZRect, eMUModules);
eCode = BCSetText(m_pbarCode, szText, szText.GetLength());
if (eCode == S_OK)
eCode = BCCreate(m_pbarCode); // create internal bar code structure (MUST)
Barre de renfort rectangulaire
Pour l'impression directe sur carton, la barre de renfort doit être rectangulaire et d'une certaine taille, auquel cas la taille du code-barres doit également être agrandie.
// #2 print on carton
// for rectangular bearer bar having a width of 4.83 mm
// 203 dpi ➞ Module Width = 1.000 mm = 8 Pixel per Module
double const dModuleWidth = 1.0F;
// 300/600/1200 dpi ➞ Module Width = 1.016 mm
//double const dModuleWidth = 1.016F;
BCSetModWidthN(m_pbarCode, dModuleWidth * 1000); // set in 0.001 mm units
double dBearerBarWidth = 4.83F;
double dModulesBearerBar = ceil(dBearerBarWidth / dModuleWidth);
BCSetBearerBarType(m_pbarCode, eBearerBar_Rectangle);
BCSetBearerBarWidth(m_pbarCode, static_cast<int> (dBearerBarWidth * 1000)); // set in 0.001 mm units
RECTD QZRect = { 10 + dModulesBearerBar, 0, 10 + dModulesBearerBar, 0 };
BCSetQuietZone(m_pbarCode, &QZRect, eMUModules);