", "", $cadena); $cadena = str_replace("?", "", $cadena); $cadena = str_replace("@", "", $cadena); $cadena = str_replace("[", "", $cadena); $cadena = str_replace("\\", "", $cadena); $cadena = str_replace("]", "", $cadena); $cadena = str_replace("^", "", $cadena); $cadena = str_replace("_", "", $cadena); $cadena = str_replace("`", "", $cadena); $cadena = str_replace("{", "", $cadena); $cadena = str_replace("|", "", $cadena); $cadena = str_replace("}", "", $cadena); $cadena = str_replace("~", "", $cadena); $cadena = str_replace("¡", "", $cadena); $cadena = str_replace("¢", "", $cadena); $cadena = str_replace("£", "", $cadena); $cadena = str_replace("¤", "", $cadena); $cadena = str_replace("¥", "", $cadena); $cadena = str_replace("¦", "", $cadena); $cadena = str_replace("§", "", $cadena); $cadena = str_replace("¨", "", $cadena); $cadena = str_replace("©", "", $cadena); $cadena = str_replace("ª", "", $cadena); $cadena = str_replace("«", "", $cadena); $cadena = str_replace("¬", "", $cadena); $cadena = str_replace("®", "", $cadena); $cadena = str_replace("°", "", $cadena); $cadena = str_replace("±", "", $cadena); $cadena = str_replace("²", "", $cadena); $cadena = str_replace("³", "", $cadena); $cadena = str_replace("´", "", $cadena); $cadena = str_replace("µ", "", $cadena); $cadena = str_replace("¶", "", $cadena); $cadena = str_replace("·", "", $cadena); $cadena = str_replace("¸", "", $cadena); $cadena = str_replace("¹", "", $cadena); $cadena = str_replace("º", "", $cadena); $cadena = str_replace("»", "", $cadena); $cadena = str_replace("¼", "", $cadena); $cadena = str_replace("½", "", $cadena); $cadena = str_replace("¾", "", $cadena); $cadena = str_replace("¿", "", $cadena); $cadena = str_replace("À", "A", $cadena); $cadena = str_replace("Á", "A", $cadena); $cadena = str_replace("Â", "A", $cadena); $cadena = str_replace("Ã", "A", $cadena); $cadena = str_replace("Ä", "A", $cadena); $cadena = str_replace("Å", "A", $cadena); $cadena = str_replace("Æ", "", $cadena); $cadena = str_replace("Ç", "", $cadena); $cadena = str_replace("È", "E", $cadena); $cadena = str_replace("É", "E", $cadena); $cadena = str_replace("Ê", "E", $cadena); $cadena = str_replace("Ë", "E", $cadena); $cadena = str_replace("Ì", "I", $cadena); $cadena = str_replace("Í", "I", $cadena); $cadena = str_replace("Î", "I", $cadena); $cadena = str_replace("Ï", "I", $cadena); $cadena = str_replace("Ð", "", $cadena); $cadena = str_replace("Ñ", "N", $cadena); $cadena = str_replace("Ò", "O", $cadena); $cadena = str_replace("Ó", "O", $cadena); $cadena = str_replace("Ô", "O", $cadena); $cadena = str_replace("Õ", "O", $cadena); $cadena = str_replace("Ö", "O", $cadena); $cadena = str_replace("×", "", $cadena); $cadena = str_replace("Ø", "", $cadena); $cadena = str_replace("Ù", "U", $cadena); $cadena = str_replace("Ú", "U", $cadena); $cadena = str_replace("Û", "U", $cadena); $cadena = str_replace("Ü", "U", $cadena); $cadena = str_replace("Ý", "Y", $cadena); $cadena = str_replace("Þ", "", $cadena); $cadena = str_replace("ß", "", $cadena); $cadena = str_replace("à", "a", $cadena); $cadena = str_replace("á", "a", $cadena); $cadena = str_replace("â", "a", $cadena); $cadena = str_replace("ã", "a", $cadena); $cadena = str_replace("ä", "a", $cadena); $cadena = str_replace("å", "a", $cadena); $cadena = str_replace("æ", "", $cadena); $cadena = str_replace("ç", "", $cadena); $cadena = str_replace("è", "e", $cadena); $cadena = str_replace("é", "e", $cadena); $cadena = str_replace("ê", "e", $cadena); $cadena = str_replace("ë", "e", $cadena); $cadena = str_replace("ì", "i", $cadena); $cadena = str_replace("í", "i", $cadena); $cadena = str_replace("î", "i", $cadena); $cadena = str_replace("ï", "i", $cadena); $cadena = str_replace("ð", "o", $cadena); $cadena = str_replace("ñ", "n", $cadena); $cadena = str_replace("ò", "o", $cadena); $cadena = str_replace("ó", "o", $cadena); $cadena = str_replace("ô", "o", $cadena); $cadena = str_replace("õ", "o", $cadena); $cadena = str_replace("ö", "o", $cadena); $cadena = str_replace("÷", "", $cadena); $cadena = str_replace("ø", "", $cadena); $cadena = str_replace("ù", "u", $cadena); $cadena = str_replace("ú", "u", $cadena); $cadena = str_replace("û", "u", $cadena); $cadena = str_replace("ü", "u", $cadena); $cadena = str_replace("ý", "y", $cadena); $cadena = str_replace("þ", "", $cadena); $cadena = str_replace("ÿ", "", $cadena); $cadena = str_replace("Œ", "", $cadena); $cadena = str_replace("œ", "", $cadena); $cadena = str_replace("Š", "", $cadena); $cadena = str_replace("š", "", $cadena); $cadena = str_replace("Ÿ", "", $cadena); $cadena = str_replace("ƒ", "", $cadena); $cadena = str_replace("–", "", $cadena); $cadena = str_replace("—", "", $cadena); $cadena = str_replace("‘", "", $cadena); $cadena = str_replace("’", "", $cadena); $cadena = str_replace("‚", "", $cadena); $cadena = str_replace("“", "", $cadena); $cadena = str_replace("”", "", $cadena); $cadena = str_replace("„", "", $cadena); $cadena = str_replace("†", "", $cadena); $cadena = str_replace("‡", "", $cadena); $cadena = str_replace("•", "", $cadena); $cadena = str_replace("…", "", $cadena); $cadena = str_replace("‰", "", $cadena); $cadena = str_replace("€", "", $cadena); $cadena = str_replace("™", "", $cadena); return $cadena; } function imgPrintGen($caja) { $archJson=rutaJson.$caja; $bodyRequest = file_get_contents($archJson); $cab = json_decode($bodyRequest, true); // Decodifica el cuerpo de la solicitud y lo guarda en un array de PHP $detalle = $cab['detalle']; $datosGenerales = $cab['datosGenerales']; //$bodyRequest = file_get_contents($archJson); //$cab = json_decode($bodyRequest, true); file_put_contents('d:/genPrint.txt',$archJson); /* 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 = "ACERTM20"; //$nombre_impresora = "192.168.1.61\TM20"; $connector = new WindowsPrintConnector($nombre_impresora,$caja.'.pendiente'); $printer = new Printer($connector); /* 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); /* Intentaremos cargar e imprimir el logo */ try{ //$logo = EscposImage::load("d:/apoloKits.png", false); $logo = EscposImage::load("D:/ultranet/xampp/htdocs/anticona/logoEmp.png", false); $printer->bitImage($logo); }catch(Exception $e){/*No hacemos nada si hay error*/} /* Ahora vamos a imprimir un encabezado */ $printer->setJustification(Printer::JUSTIFY_CENTER); $printer->text(ValidarCaracteresInv((isset($cab['txtNOMBRE_COMERCIAL_EMPRESA'])) ? $cab['txtNOMBRE_COMERCIAL_EMPRESA'] : "")."\n"); $printer->text(ValidarCaracteresInv((isset($cab['txtRAZON_SOCIAL_EMPRESA'])) ? $cab['txtRAZON_SOCIAL_EMPRESA'] : "")."\n"); $printer->text("RUC: ".$cab['txtNRO_DOCUMENTO_EMPRESA']."\n"); $printer->text("Dir: ".((isset($cab['txtDIRECCION_EMPRESA'])) ? $cab['txtDIRECCION_EMPRESA'] : "")."\n"); switch($cab['txtCOD_TIPO_DOCUMENTO']) { case '01':$printer->text("FATURA"); break; case '03':$printer->text("BOLETA"); break; case '07':$printer->text("NOTA DE CREDITO"); break; case '08':$printer->text("NOTA DE DEBITO"); break; } $printer->text(" ELECTRONICA: ".$cab['txtNRO_COMPROBANTE']."\n"); $printer->text("TRUJILLO - TRUJILLO\n\n"); $printer->text("FECHA DE EMISION: ".date("d-m-Y H:i:s") . "\n"); $printer->text("CAJA: ".$datosGenerales[0]['IDCAJAT']." TIPO DE MONEDA: SOL\n"); $printer->text("------------------------------------------------\n"); $printer->setDoubleStrike(true); $printer->text("SR(A): ".ValidarCaracteresInv($cab['txtRAZON_SOCIAL_CLIENTE'])."\n"); $printer->setDoubleStrike(false); $printer->text("------------------------------------------------\n"); $printer->text("CODIGO DESCRIPCION CANT IMPORTE\n"); $printer->text("------------------------------------------------\n"); for($i=0;$itext(sprintf("%6s %-28s%5.0f%8.2f" ,str_pad($detalle[$i]['txtCODIGO_DET'],6,"0",STR_PAD_LEFT) ,substr(ltrim(strtoupper(ValidarCaracteresInv($detalle[$i]['txtDESCRIPCION_DET']))),0,28) ,$detalle[$i]['txtCANTIDAD_DET'] ,$detalle[$i]['txtIMPORTE_DET'] ) ."\n" ); } $printer->text("------------------------------------------------\n"); //$printer->setJustification(Printer::JUSTIFY_LEFT); $printer->text(str_pad(sprintf("Total S/%8.2f", $cab['txtTOTAL']) ,48," ",STR_PAD_LEFT)."\n"); $printer->text(str_pad(sprintf("Op. Gravada S/%8.2f", $cab['txtTOTAL_GRAVADAS']),48," ",STR_PAD_LEFT)."\n"); $printer->text(str_pad(sprintf("IGV S/%8.2f", $cab['txtTOTAL_IGV']) ,48," ",STR_PAD_LEFT)."\n"); $printer->text(str_pad(sprintf("Importe total S/%8.2f", $cab['txtTOTAL']) ,48," ",STR_PAD_LEFT)."\n"); $printer->text(str_pad(sprintf("Importe a Pagar S/%8.2f",$cab['txtTOTAL']) ,48," ",STR_PAD_LEFT)."\n\n"); $printer->text("Son: ".$cab['txtTOTAL_LETRAS']."\n"); $printer->text("CAJERO: ". strtoupper(valCars($datosGenerales[0]['CAJERO']))."\n"); $printer->text("VENDEDOR: ".strtoupper(valCars($datosGenerales[0]['VENDEDOR']))."\n"); try{ $printer->setJustification(Printer::JUSTIFY_CENTER); $logo = EscposImage::load("D:/ultranet/xampp/cgi-bin/anticona/fe/qr/".$caja.".png", false); $printer->bitImage($logo); }catch(Exception $e){/*No hacemos nada si hay error*/} $printer->text(strtoupper(valCars("Representación de documento de venta electrónico. Este puede ser consultado en http://apolokits.com. No hay devolución de dinero. Todo cambio de mercadería se hará dentro de las 48h previa presentación del comprobante y verificación por el representante de la empresa.\n"))); //Autorizado mediante resolución de intendencia 0000000000000/SUNAT.\n $printer->text("Muchas gracias por su compra"); /*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 */ file_put_contents('d:/genPrintPreClose.txt','Acabó'); $printer->close(); file_put_contents('d:/genPrintPOstClose.txt','Acabó'); } ?>