Autosave: 20260521-193525
This commit is contained in:
parent
0eaaa1c343
commit
f06e0c415c
Binary file not shown.
|
After Width: | Height: | Size: 171 KiB |
@ -16,7 +16,7 @@ if (empty($codes)) {
|
||||
<title>Imprimir Etiquetas Térmicas</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
font-family: Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
@ -66,7 +66,7 @@ if (empty($codes)) {
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
padding: 3mm 1mm 1mm 1mm; /* Aumentado padding superior de 1mm a 3mm para bajar el contenido */
|
||||
padding: 5mm 1mm 1mm 1mm; /* Aumentado de 3mm a 5mm para bajar más el contenido */
|
||||
border: 0.1mm solid #eee; /* Guía visual en pantalla */
|
||||
}
|
||||
|
||||
@ -152,10 +152,9 @@ if (empty($codes)) {
|
||||
<div class="producto-nombre"><?php echo htmlspecialchars($name); ?></div>
|
||||
<div class="barcode-container">
|
||||
<?php
|
||||
// widthFactor 1.2 + altura 72 en el SVG, escalado a 9mm en CSS
|
||||
// resulta en una barra mínima de ~0.15mm (9 / 72 * 1.2)
|
||||
// Esto reduce la densidad y mejora la lectura sin ser demasiado grueso.
|
||||
echo $generator->getBarcode($code, 1.2, 72);
|
||||
// widthFactor 0.8 + altura 72 en el SVG, escalado a 9mm en CSS
|
||||
// resulta en una barra mínima de ~0.1mm (9 / 72 * 0.8)
|
||||
echo $generator->getBarcode($code, 0.8, 72);
|
||||
?>
|
||||
</div>
|
||||
<div class="sku-text"><?php echo htmlspecialchars($code); ?></div>
|
||||
|
||||
@ -40,41 +40,15 @@ class BarcodeGenerator
|
||||
|
||||
private function getBarcodeData($code)
|
||||
{
|
||||
$i = 0;
|
||||
$len = strlen($code);
|
||||
$indices = [];
|
||||
$currentMode = 'B';
|
||||
|
||||
$indices[] = 104; // Start B
|
||||
|
||||
while ($i < $len) {
|
||||
// Check for 4 or more digits to switch to Mode C
|
||||
$digitCount = 0;
|
||||
while ($i + $digitCount < $len && is_numeric($code[$i + $digitCount])) {
|
||||
$digitCount++;
|
||||
}
|
||||
|
||||
if ($digitCount >= 4) {
|
||||
if ($currentMode !== 'C') {
|
||||
$indices[] = 99; // Switch to C
|
||||
$currentMode = 'C';
|
||||
}
|
||||
|
||||
while ($digitCount >= 2) {
|
||||
$indices[] = (int)substr($code, $i, 2);
|
||||
$i += 2;
|
||||
$digitCount -= 2;
|
||||
}
|
||||
}
|
||||
|
||||
if ($i < $len) {
|
||||
if ($currentMode === 'C') {
|
||||
$indices[] = 100; // Switch to B
|
||||
$currentMode = 'B';
|
||||
}
|
||||
$val = $this->getCharValue('B', $code[$i]);
|
||||
if ($val !== null) $indices[] = $val;
|
||||
$i++;
|
||||
for ($i = 0; $i < $len; $i++) {
|
||||
$val = $this->getCharValue('B', $code[$i]);
|
||||
if ($val !== null) {
|
||||
$indices[] = $val;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ $generator = new BarcodeGenerator();
|
||||
<title>Prueba Etiquetas 3x3 - Especificaciones Exactas</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
font-family: Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
@ -61,7 +61,7 @@ $generator = new BarcodeGenerator();
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
padding: 3mm 1mm 1mm 1mm; /* Aumentado padding superior de 1mm a 3mm para bajar el contenido */
|
||||
padding: 5mm 1mm 1mm 1mm; /* Aumentado de 3mm a 5mm para bajar más el contenido */
|
||||
}
|
||||
|
||||
.producto-nombre {
|
||||
@ -140,10 +140,9 @@ $generator = new BarcodeGenerator();
|
||||
<div class="producto-nombre">PRODUCTO <?php echo $sku; ?></div>
|
||||
<div class="barcode-container">
|
||||
<?php
|
||||
// widthFactor 1.2 + altura 72 en el SVG, escalado a 9mm en CSS
|
||||
// resulta en una barra mínima de ~0.15mm (9 / 72 * 1.2)
|
||||
// Esto reduce la densidad y mejora la lectura sin ser demasiado grueso.
|
||||
echo $generator->getBarcode($sku, 1.2, 72);
|
||||
// widthFactor 0.8 + altura 72 en el SVG, escalado a 9mm en CSS
|
||||
// resulta en una barra mínima de ~0.1mm (9 / 72 * 0.8)
|
||||
echo $generator->getBarcode($sku, 0.8, 72);
|
||||
?>
|
||||
</div>
|
||||
<div class="sku-text"><?php echo $sku; ?></div>
|
||||
@ -154,12 +153,13 @@ $generator = new BarcodeGenerator();
|
||||
<div class="no-print" style="max-width: 500px; background: white; padding: 15px; border-radius: 8px; margin-top: 20px; font-size: 13px; line-height: 1.4; border: 1px solid #ddd;">
|
||||
<p style="margin-top: 0;"><strong>✅ Especificaciones Aplicadas:</strong></p>
|
||||
<ul style="text-align: left; padding-left: 20px;">
|
||||
<li><b>Tipo:</b> CODE 128 (Optimizado con Modo C para números)</li>
|
||||
<li><b>Tipo:</b> CODE 128 (Modo B Estándar)</li>
|
||||
<li><b>Fuente:</b> Arial (Solicitado por el usuario)</li>
|
||||
<li><b>Altura:</b> 9 mm</li>
|
||||
<li><b>Posición:</b> Centrado vertical (Padding superior 3mm)</li>
|
||||
<li><b>Posición:</b> Bajado (Padding superior 5mm)</li>
|
||||
<li><b>Margen lateral:</b> 1 mm</li>
|
||||
<li><b>Ancho barra mínima:</b> ~0.15mm (Optimizado para escaneo)</li>
|
||||
<li><b>Densidad:</b> Reducida (menos barras al agrupar números)</li>
|
||||
<li><b>Ancho barra mínima:</b> ~0.1mm (Factor 0.8)</li>
|
||||
<li><b>Estado:</b> Revertido a factor 0.8 con fuente Arial</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user