Les cuento el caso que tengo; una pequeña red window, quiere gestionar la impresion de ticket de su punto de venta , sin necesidad de elegir la impresora (lo comun que sale cuando usas window.print de java script).
Bueno logre imprimir con la dll de php_printer.dll , ojo que tienen que descargarla para php 5.3.0 no saben lo dificil que me fue conseguirla ya que las que circulan por la red son para php 4 y no funcionaba.
En fin logre imprimir una pequeña prueba con este codigo:
Código PHP:
<?php
$printer = "HP Photosmart D110 series";
if($ph = printer_open($printer))
{
printer_start_doc($ph, "testfile.txt");
printer_start_page($ph);
$font = printer_create_font("Arial",72,48,400,false,false, false,0);
printer_select_font($ph, $font);
$text1= "producto: computadora personal notex12563 cancelado...";
$text2= "observacion: puede ser muy largooooooooooooooooooooooo";
//$text2=wordwrap($text1, 8, "\n", true);
printer_draw_text($ph, $text1, 10, 10);
printer_draw_text($ph, $text2, 10, 110);
printer_delete_font($font);
printer_end_page($ph);
printer_end_doc($ph);
printer_close($ph);
}
else "Couldn't connect...";
?>
Como sabran un ticket tiene un ancho de 8 a cm y si el texto es muy grande lo corta, tienen alguna idea de como abordar la impresion de un ticked con un formato dado (cabecera ,detalle,footer), porque si se dan cuenta printer_draw_text pinta el texto pero en base a una cordenada lo cual es muy engorroso de manejar cuando el texto es muy largo.
Probe con wordwrap($text1, 8, "\n", true) para poner el separador de salto de linea pero ni asi.
Lo raro es que probe con un txt y lo mande a imprimir y la tiketera acomodo el texto al papel configurado (es decir ticket).
Por favor ya estoy a un paso de resolver este tema lo que mas me demoro fue realizar la impresion, a ver si me dan una mano.Muchas gracias de antemano.