2010-04-05 4 views

Respuesta

-2

pensar en los temas/vergüenza de seguridad que existiría si esto era posible. Afortunadamente, los navegadores no te permitirán hacer eso.

Lo más cerca que puede conseguir es ir a la página a través de AJAX, reemplazar el DOM actual con la página nueva e imprimir con el método de impresión normal() de JS.

+0

No es una manera fácil de hablar para un novato al menos, ¿cuál es el problema de seguridad por cierto? –

+0

@phpBOY - El problema es que los propietarios de sitios web inmaduros imprimen sitios web pornográficos cuando no lo esperas. –

16

Sé que es una cuestión de edad, pero puede hacerlo de esta manera:

function printExternal(url) { 
    var printWindow = window.open(url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0'); 
    printWindow.addEventListener('load', function(){ 
     printWindow.print(); 
     printWindow.close(); 
    }, true); 
} 

Probado en Firefox y Chrome. IE9 no funciona.

+0

Te diría muchas gracias. Este truco funciona para mí. Realmente ayuda en el modo kiosco en Chrome. –

+0

Este método funciona pero redirecciona mi página principal a la página de índice. – iamsmug

+1

En Chrome 55.0.2883.59 genera la ventana, no imprime y luego se cierra. – TheRealJAG

6

Una alternativa es enlazar a la página con una variable get y luego llamar a la función de impresión.

Por su enlace -

<a href="print-page.php?print=1">Print other page</a> 

A continuación, en la página de impresión (o todas las páginas)

<script type="text/javascript"> 
<? if(isset($_GET['print'])) { ?> 
window.print(); 
<? } ?> 
</script> 
+0

Aunque su respuesta parece ser una buena solución posible, es mejor no responder en hilos que no han estado activos en un par de años. – ndsmyter

+10

¿Por qué no? Estaba buscando una solución, encontré este hilo. Trabajé en mi propia solución y espero que eso ayude a otra persona ... – sebtucknott

+0

Sí, es 2017 ahora y Google me llevó hasta aquí. Esta fue la respuesta exacta que busqué. – Jay

8

Si ya tiene una página externa (letterprint.php), puesto que la página en un iframe oculto e imprima el contenido de iframe usando el atributo onclick en un botón.

<iframe src="letterprint.php" style="display:none;" name="frame"></iframe> 

<input type="button" onclick="frames['frame'].print()" value="printletter"> 
+0

¡Esto funcionó muy bien para mí! –

Cuestiones relacionadas