Preguntas frecuentes sobre TBarCode DLL / TBarCode Library
¿Cómo puedo añadir una barra de refuerzo (bearer bar) a ITF-14?
¿Cómo puedo añadir una barra de refuerzo (bearer bar) a ITF-14?
La forma y el tamaño de la barra de refuerzo dependen de la superficie de impresión y de la aplicación. Los tamaños posibles para el ancho de módulo, la altura del código de barras y la barra de refuerzo se pueden encontrar en la especificación GS1, figura 5.3.6-1.
A continuación mostramos dos casos con distintas dimensiones del código de barras y la barra de refuerzo:
Barras de refuerzo superior e inferior
ITF-14 se puede dibujar con una barra de refuerzo superior e inferior si usa etiquetas (sin planchas de impresión). En este caso, la barra de refuerzo puede ser más pequeña, pero debe medir al menos 2 veces el ancho de módulo.
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)
Barra de refuerzo rectangular
Para la impresión directa en cartón, la barra de refuerzo debe ser rectangular y de un tamaño determinado, en cuyo caso también debe ampliarse el tamaño del código de barras.
// #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);