2010-04-05 14 views

risposta

-2

Pensate alle problematiche/imbarazzo di sicurezza che esisterebbe se questo era possibile. Per fortuna, i browser non ti permettono di farlo.

Il più vicino è possibile ottenere la pagina tramite AJAX, sostituendo il DOM corrente con la nuova pagina e stampando con il normale metodo print() di JS.

+0

non è un modo semplice di cui si sta parlando per un principiante almeno, qual è il problema di sicurezza tra l'altro? –

+0

@phpBOY - Il problema sono i proprietari di siti Web immaturi che stampano siti Web porno quando non te lo aspetti. –

16

Lo so che è una vecchia questione, ma si può fare in questo modo:

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); 
} 

testato in Firefox e Chrome. IE9 non funziona.

+0

Direi molte grazie a voi. Questo trucco funziona per me. È davvero utile per la modalità kiosk su chrome .. –

+0

Questo metodo funziona ma reindirizza la mia pagina principale alla pagina indice. – iamsmug

+1

In Chrome 55.0.2883.59 viene generata la finestra, non viene stampato, quindi viene chiuso. – TheRealJAG

6

Un'alternativa è il collegamento alla pagina con una variabile get e quindi chiama la funzione di stampa.

per il link -

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

Poi sulla tua pagina di stampa (o tutte le pagine)

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

Anche se la risposta sembra una buona soluzione possibile, è meglio non rispondere su thread che non sono stati attivi in ​​un paio d'anni. – ndsmyter

+10

Perché no? Stavo cercando una soluzione, ho trovato questo thread. Ho elaborato la mia soluzione e spero che aiuti qualcun altro ... – sebtucknott

+0

Sì, è ora 2017 e Google mi ha condotto qui. Questa è stata la risposta esatta che ho cercato. – Jay

8

Se si dispone già di una pagina esterna (letterprint.php), mettere quella pagina in un iframe nascosto e stampare il contenuto di iframe usando l'attributo onclick in un pulsante.

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

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

Questo ha funzionato alla grande per me! –

Problemi correlati