<?php
// require __DIR__ . '/ticket/autoload.php'; //Nota: si renombraste la carpeta a algo diferente de "ticket" cambia el nombre en esta línea

require 'plugins/escpos/autoload.php';

use Mike42\Escpos\Printer;
use Mike42\Escpos\EscposImage;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
use Mike42\Escpos\CapabilityProfile;
use Mike42\Escpos\CapabilityProfiles\StarCapabilityProfile;

// require __DIR__.'/monedas_a_letras.php';
// require 'controller/monedas_a_letras.php';
/*
Ejemplo para generar encabezados
*/


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

// $nombre_impresora = "POS-58"; 
	// $nombre_impresora = "EPSON TM-T88V Receipt5";
	// $nombre_impresora = "smb://10.10.80.152/EPSON TM-U220 Receipt";
	// $nombre_impresora = "smb://10.10.80.4/CE_B_ticketera_12";
	
	// $nombre_impresora = 'smb://6-LPTDITI01/EPSON TM-U220 Receipt';
	// $nombre_impresora = 'smb://6-LPTDITI01/EPSMU220PAUSB';
	// if ($impresionDePrueba == 'true') {
	// 	$nombre_impresora = "EPSON TM-T88V_UDESI";
	// } else {
	// 	$nombre_impresora = $nombre_impresora;
	// }
	


	$connector = new WindowsPrintConnector($nombreTicketera);

	$profile = StarCapabilityProfile::getInstance();
	$printer = new Printer($connector, $profile);	

	/* Initialize */
	$printer -> initialize();

	/* Font modes */
	$modes = array(
		Printer::MODE_FONT_B,
		Printer::MODE_EMPHASIZED,
		Printer::MODE_DOUBLE_HEIGHT,
		Printer::MODE_DOUBLE_WIDTH,
		Printer::MODE_UNDERLINE);

	$justification = array(
		Printer::JUSTIFY_LEFT,
		Printer::JUSTIFY_CENTER,
		Printer::JUSTIFY_RIGHT);

	$mode |= $modes[6];

	$printer -> selectPrintMode($mode);

/*
	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);

	$connector->write(Printer::GS.'L'.chr(0).chr(0));

function addSpaces($string = '', $valid_string_length = 0) {

    if (strlen($string) < $valid_string_length) {
        $spaces = $valid_string_length - strlen($string);
        for ($index1 = 1; $index1 <= $spaces; $index1++) {
            $string = $string . ' ';
        }
    }

    return $string;
}

  $printer->setFont(Printer::FONT_B);
	// $printer -> setEmphasis(true); // CON ENFASIS
	//TEXTO A IMPRIMIR
	$printer -> setTextSize(1, 1);
	$printer -> setJustification(Printer::JUSTIFY_CENTER); // centrado

	// DESCOMENTAR LUEGO
	try{
		$logo = EscposImage::load("img/logo_hrl_ticket.png");
		$printer->bitImage($logo);
	}catch(Exception $e){/*No hacemos nada si hay error*/}

	$printer -> text("HOSP. REGIONAL LAMBAYEQUE A SUNAT 0071845104542 \n");
	$printer -> text("Via de evitamiento norte con av. el prog\n");
	// $printer->text("Prog Augusto B Leguia Nº100 (Esq. av Progreso\n)");
	$printer -> text("RUC: 20487911586     Telef: 074-480420 \n");

  require 'buffer/body_content.php';

	/*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();
	?>