<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Cargar librerías
require_once 'dompdf/autoload.inc.php';
require_once 'tcpdf/tcpdf_barcodes_1d.php'; // Generador de código local

use Dompdf\Dompdf;
use Dompdf\Options;

if (!isset($_POST['seleccionados']) || !isset($_POST['items'])) {
    die("Error: No se han seleccionado productos.");
}

// Configuración de Dompdf
$options = new Options();
$options->set('isRemoteEnabled', true);
$options->set('chroot', __DIR__);
$dompdf = new Dompdf($options);

// Carga el logo
$logo_base64 = '';
if (file_exists('images/logo_lodeantes.png')) {
    $logo_base64 = 'data:image/png;base64,' . base64_encode(file_get_contents('images/logo_lodeantes.png'));
}

// Inicio del HTML
$html = '<html><head><style>
    @page { margin: 0px; }
    body { margin: 0px; padding: 0px; font-family: Helvetica, sans-serif; }
    
    .etiqueta { width: 58mm; height: 30mm; position: relative; page-break-after: always; overflow: hidden; }
    
    .header { height: 10mm; width: 100%; position: relative; }
    .datos { position: absolute; left: 2mm; top: 1mm; width: 40mm; }
    .logo-box { position: absolute; right: 2mm; top: 1mm; width: 12mm; text-align: right; }
    
    .nombre-prod { font-size: 7pt; font-weight: bold; text-transform: uppercase; line-height: 1; }
    .precio { font-size: 13pt; font-weight: bold; }
    
    .barcode-container { 
        position: absolute; 
        bottom: 2mm; 
        left: 2mm; 
        right: 2mm; 
        height: 14mm; 
        text-align: center; 
    }
    
    .logo-img { width: 10mm; height: auto; }
</style></head><body>';

// Generar etiquetas
foreach ($_POST['seleccionados'] as $indice) {
    if (isset($_POST['items'][$indice])) {
        $item = $_POST['items'][$indice];
        $codigo_raw = trim($item['codigo']);
        
        // Generar código de barras localmente con TCPDF
        $barcodeobj = new TCPDFBarcode($codigo_raw, 'C128');
        // Parámetros: ancho_barra, alto_mm, color, mostrar_texto (true/false)
        $barcode_html = $barcodeobj->getBarcodeHTML(1.5, 30, 'black', true);
        // Parámetros: ancho_barra, alto_mm
        // $barcode_html = $barcodeobj->getBarcodeHTML(1.5, 30, 'black'); 
        
        $html .= '<div class="etiqueta">
                    <div class="header">
                        <div class="datos">
                            <div class="nombre-prod">' . htmlspecialchars($item['nombre']) . '</div>
                            <div class="precio">Gs. ' . number_format((float)str_replace('.', '', $item['precio']), 0, ',', '.') . '</div>
                        </div>
                        <div class="logo-box">
                            <img src="' . $logo_base64 . '" class="logo-img">
                        </div>
                    </div>
                    <div class="barcode-container">
                        ' . $barcode_html . '
                    </div>
                  </div>';
    }
}

$html .= '</body></html>';

// Renderizar PDF
$dompdf->loadHtml($html);
$dompdf->setPaper(array(0, 0, 164.41, 85.04), 'portrait'); 
$dompdf->render();

$dompdf->stream("etiquetas.pdf", array("Attachment" => false));
exit;