<?php
header("Access-Control-Allow-Origin: *");

require __DIR__ . '/vendor/autoload.php';
use Mike42\Escpos\Printer;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
use Mike42\Escpos\EscposImage;
use Mike42\Escpos\PrintConnectors\FilePrintConnector;

$printerName = $_GET['printer'] ?? null;

if (!$printerName) {
    die("Error: Debes proporcionar el nombre de la impresora usando ?printer=NOMBRE\n");
}

try {
    $connector = new WindowsPrintConnector($printerName);
    $printer = new Printer($connector);

    // Texto de prueba
    $printer->setJustification(Printer::JUSTIFY_CENTER);
    $printer->setTextSize(2, 2);
    $printer->text("PRUEBA DE IMPRESIÓN\n");
    $printer->setTextSize(1, 1);
    $printer->text("---------------------------\n");

    // Código de barras (formato CODE39 recomendado para compatibilidad)
    $printer->setBarcodeHeight(60);
    $printer->setBarcodeWidth(3);
    $printer->text("Código de barras:\n");
    $printer->barcode("V-12345", Printer::BARCODE_CODE39);
    $printer->feed();

    // Código QR
    $printer->text("Código QR:\n");
    $printer->qrCode("https://equis.com.sv", Printer::QR_ECLEVEL_L, 6);
    $printer->feed();

    // Abrir gaveta
    $printer->pulse();

    // Finalizar
    $printer->text("\nGracias por usar nuestros Servicios\n");
    $printer->text("Visítanos en: https://equis.com.sv\n");
    $printer->cut();
    $printer->close();

    echo "Impresión de prueba enviada a: $printerName\n";
} catch (Exception $e) {
    echo "Error al imprimir: " . $e->getMessage();
}