Estoy creando una pequeña intranet para una empresa y hay que sacar por impresora documentos como facturas, recibos, etc.
he buscado por google y la solucion que dan es en javascript windows.print()
El problema es que esto hace un capture de pantalla y tambien sale el boton de print. Cosa que se podria solucionar mandandolo a otra pantalla y printarlo desde alli. Cosa, por cierto, poco elegante.
Pero continua saliendo las cabeceras del principio y final de pagina. por supuesto que el cliente rechazara tal cosa.
A alguien le ha ocurrido dicho tema y como lo ha solucionado.
muchas gracias.
Me parece que hay 2 soluciones, al darle al boton imprimir:
- Abrir una nueva ventana con el documento a imprimir, sin nada mas excepto el boton de Imprimir, que se puede ocultar con javascript al darle al Print. (estoy casi 100% seguro)
- Mostrar solo la informacion a imprimir, con un boton Volver y otro Imprimir, que se ocultarían igual que en el otro caso.
Es lo que se me ocurre... hace mucho que no hago algo de esto.
Citar- Abrir una nueva ventana con el documento a imprimir, sin nada mas excepto el boton de Imprimir, que se puede ocultar con javascript al darle al Print. (estoy casi 100% seguro)
- Mostrar solo la informacion a imprimir, con un boton Volver y otro Imprimir, que se ocultarían igual que en el otro caso.
La primera opcion es la misma que ya he expuesto yo. Funcina pero sale la cabecera y el pie (cosa de los navegadores)
La segunda no llego a entenderla pero seguro que ucurrira lo mismo.
La solucion pasa por el uso de una hoja css para el perfil "print" en el que se ponga la propiedad visible a no de la imagen o boton que quieres evitar.
Lo de los encabezados y pies de página es cosa del navegador y no creo que se pueda quitar sin tocar la configuración. En IE dale al menu Archivo/Configurar Página y edita los campos encabezado y pie de página.
Mirate en este link un truco guarro que acabo de encontrar, supuestamente alargando los márgenes con CSS:
LINK a ver si cuela.
yo lo que hago es generar un pdf mediante php (usando FPDF), que me sale incrustado en el navegador, y luego imprimo
es crear la clase, e ir añadiendo paginas con elementos
$pdf=new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetAutoPageBreak(false,10.0);
$pdf->SetDisplayMode('fullpage','single');
$pdf->SetFont('Arial','',9);
$pdf->Rect($x,$y,180.0,78.0);
$pdf->Text($x+86.5,$y+63.5,'FECHA');
etc..
...
...
...
Si, ya lei lo del FPDF y me parecio una buena opcion si no encontraba otra mejor.
De momento el diseñador esta reformateando todo el codigo que le he pasado para hacerlo bonito ;)
y esta probando con el CSS a ver.
si no me tocara probar con el FPDF....
No se a quien se le ocurrio que los navegadores pusieran lineas de mas sin que se lo digamos (grrr)
seguimos investigando. Ya veis la chorrada mas grande la guerra que da.
No sé si te servirá, pero una vez me contó una chica que se dedicaba a esto (no es broma) que usaba el Word para imprimir desde JavaScript. Parece ser que lo que hacía era usar ficheros RTF donde insertaba variables del tipo $$$NOMBRE que sustituía desde el PHP por lo que obtenía de su base de datos. De esta forma tenía varios patrones de documentos en el servidor (facturas, recibos, etc.) Ahora bien ¿cómo lo hacía? Ni idea. Supongo que para usar el Word desde el JavaScript tendría que usar los objetos COM o algo así.