<?php

error_reporting(0);

$selectedPrinter=$_SESSION['selectedPrinter'];
$nombre_impresora = $selectedPrinter; 


//cambiar require en produccion

require __DIR__ . '/ticket/autoload.php'; //Nota: si renombraste la carpeta a algo diferente de "ticket" cambia el nombre en esta línea
use Mike42\Escpos\Printer;
use Mike42\Escpos\EscposImage;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
try{
/*
use Mike42\Escpos\PrintConnectors\NetworkPrintConnector;

$ip_impresora = getHostByName(getHostName()); // Dirección IP de tu computadora local
$nombre_impresora_compartida = 'termicGeneric'; // Nombre compartido de la impresora

$connector = new NetworkPrintConnector($ip_impresora, 9100); // 9100 es el puerto común para impresoras de red
$printer = new Printer($connector);




	Este ejemplo imprime un
	ticket de venta desde una impresora térmica
*/


/*
    Aquí, en lugar de "POS" (que es el nombre de mi impresora)
	escribe el nombre de la tuya. Recuerda que debes compartirla
	desde el panel de control
*/




$connector = new WindowsPrintConnector($nombre_impresora);
$printer = new Printer($connector);
#Mando un numero de respuesta para saber que se conecto correctamente.
$imprimiendo=1;



/*
	Vamos a imprimir un logotipo
	opcional. Recuerda que esto
	no funcionará en todas las
	impresoras

	Pequeña nota: Es recomendable que la imagen no sea
	transparente (aunque sea png hay que quitar el canal alfa)
	y que tenga una resolución baja. En mi caso
	la imagen que uso es de 250 x 250
*/

# Vamos a alinear al centro lo próximo que imprimamos









	$printer->setJustification(Printer::JUSTIFY_CENTER);



  //$printer->bitImage($logo);
$printer->text("\n"."Delicias DU!" . "\n");
$printer->text("San José Pinula, Guatemala" . "\n");
$printer->text("Servicios de Alimentos, GUATEPLAST" . "\n");
#La fecha también
$printer->text("$date"." "."$hora". "\n");
$printer->text("Usuario: "."$session". "\n");
$printer->text("Transacción: "."$ticketID". "\n");


/*
	Ahora vamos a imprimir un encabezado
*/


$printer->text("-----------------------------" . "\n");
$printer->setJustification(Printer::JUSTIFY_CENTER);
$printer->text("-----DESCRIPCION DEL PRODUCTO-----\n");
/*
	Ahora vamos a imprimir los
	productos
*/
	/*Alinear a la izquierda para la cantidad y el nombre*/
	$printer->setJustification(Printer::JUSTIFY_LEFT);
    $printer->text( "1 "."$categoria"."\n");
    $printer->text("Efectivo: "."$ContadoReg"."\n");
    $printer->text("Credito: "."$CreditoReg"."\n");
    $printer->text("Subsidio: "."$Subsidio2"."\n");
/*
	Terminamos de imprimir
	los productos, ahora va el total
*/
$printer->text("-----------------------------"."\n");
$printer->setJustification(Printer::JUSTIFY_RIGHT);
$printer->text("TOTAL: Q."."$precioTotal".".00\n\n");






/*
	Datos del cliente
*/
$printer->setJustification(Printer::JUSTIFY_CENTER);

$printer->text("CODIGO: "."$codAsociado"."\n");
$printer->text("$cliente"."\n\n\n\n");

$printer->text("-----------------------------"."\n");
$printer->text("firma\n\n");

$printer->text("Muchas gracias por su compra\n");



/*Alimentamos el papel 3 veces*/
$printer->feed(3);

/*
	Cortamos el papel. Si nuestra impresora
	no tiene soporte para ello, no generará
	ningún error
*/
$printer->cut();
























//IMPRESION 2


	$printer->setJustification(Printer::JUSTIFY_CENTER);

/*
	Intentaremos cargar e imprimir
	el logo
*/
	//$logo = EscposImage::load("geek.png", false);
  //$printer->bitImage($logo);
$printer->text("\n"."Delicias DU!" . "\n");
$printer->text("San José Pinula, Guatemala" . "\n");
$printer->text("Servicios de Alimentos, GUATEPLAST" . "\n");
#La fecha también
$printer->text("$date"." "."$hora". "\n");
$printer->text("Usuario: "."$session". "\n");
$printer->text("Transacción: "."$ticketID". "\n");


/*
	Ahora vamos a imprimir un encabezado
*/


$printer->text("-----------------------------" . "\n");
$printer->setJustification(Printer::JUSTIFY_CENTER);
$printer->text("-----DESCRIPCION DEL PRODUCTO-----\n");
/*
	Ahora vamos a imprimir los
	productos
*/
	/*Alinear a la izquierda para la cantidad y el nombre*/
	$printer->setJustification(Printer::JUSTIFY_LEFT);
    $printer->text( "1 "."$categoria"."\n");
    $printer->text("Efectivo: "."$ContadoReg"."\n");
    $printer->text("Credito: "."$CreditoReg"."\n");
    $printer->text("Subsidio: "."$Subsidio2"."\n");
/*
	Terminamos de imprimir
	los productos, ahora va el total
*/
$printer->text("-----------------------------"."\n");
$printer->setJustification(Printer::JUSTIFY_RIGHT);
$printer->text("TOTAL: Q."."$precioTotal".".00\n\n");






/*
	Datos del cliente
*/
$printer->setJustification(Printer::JUSTIFY_CENTER);

$printer->text("CODIGO: "."$codAsociado"."\n");
$printer->text("$cliente"."\n\n\n\n");

$printer->text("-----------------------------"."\n");
$printer->text("firma\n\n");

$printer->text("Muchas gracias por su compra\n");



/*Alimentamos el papel 3 veces*/
$printer->feed(3);

/*
	Cortamos el papel. Si nuestra impresora
	no tiene soporte para ello, no generará
	ningún error
*/
$printer->cut();






















//iMPRESION 3





	$printer->setJustification(Printer::JUSTIFY_CENTER);

/*
	Intentaremos cargar e imprimir
	el logo
*/

	//$logo = EscposImage::load("geek.png", false);
  //$printer->bitImage($logo);
$printer->text("\n"."Delicias DU!" . "\n");
$printer->text("San José Pinula, Guatemala" . "\n");
$printer->text("Servicios de Alimentos, GUATEPLAST" . "\n");
#La fecha también
$printer->text("$date"." "."$hora". "\n");
$printer->text("Usuario: "."$session". "\n");
$printer->text("Transacción: "."$ticketID". "\n");


/*
	Ahora vamos a imprimir un encabezado
*/


$printer->text("-----------------------------" . "\n");
$printer->setJustification(Printer::JUSTIFY_CENTER);
$printer->text("-----DESCRIPCION DEL PRODUCTO-----\n");
/*
	Ahora vamos a imprimir los
	productos
*/
	/*Alinear a la izquierda para la cantidad y el nombre*/
	$printer->setJustification(Printer::JUSTIFY_LEFT);
    $printer->text( "1 "."$categoria"."\n");
    $printer->text("Efectivo: "."$ContadoReg"."\n");
    $printer->text("Credito: "."$CreditoReg"."\n");
    $printer->text("Subsidio: "."$Subsidio2"."\n");
/*
	Terminamos de imprimir
	los productos, ahora va el total
*/
$printer->text("-----------------------------"."\n");
$printer->setJustification(Printer::JUSTIFY_RIGHT);
$printer->text("TOTAL: Q."."$precioTotal".".00\n\n");






/*
	Datos del cliente
*/
$printer->setJustification(Printer::JUSTIFY_CENTER);

$printer->text("CODIGO: "."$codAsociado"."\n");
$printer->text("$cliente"."\n\n\n\n");

$printer->text("-----------------------------"."\n");
$printer->text("firma\n\n");

$printer->text("Muchas gracias por su compra\n");



/*Alimentamos el papel 3 veces*/
$printer->feed(3);

/*
	Cortamos el papel. Si nuestra impresora
	no tiene soporte para ello, no generará
	ningún error
*/
$printer->cut();











/*
	Por medio de la impresora mandamos un pulso.
	Esto es útil cuando la tenemos conectada
	por ejemplo a un cajón
*/
$printer->pulse();

/*
	Para imprimir realmente, tenemos que "cerrar"
	la conexión con la impresora. Recuerda incluir esto al final de todos los archivos
*/
$printer->close();


}catch(Throwable $e){

    $imprimiendo=0;
}

?>
