back to top

Creare un pulsante HTML per stampare una pagina web (o una sua porzione)

Stampare una pagina web è molto semplice: tutti i browser supportano la possibilità di stampare il contenuto della pagina web visualizzata, tuttavia può essere utile (o comodo) inserire direttamente nella pagina web un pulsante per attivare la funzione di stampa.

In questo articolo vedremo come creare un bottone HTML grazie al quale l’utente del sito potrà attivare la funzione di stampa con un semplice click, senza cioè dover interagire con i menu del browser.

Inserire un pulsante / link per stampare la pagina web

Grazie a Javascript è possibile inserire, all’interno del nostro sito web, un pulsante/link per stampare il contenuto della pagina corrente in modo estremamente semplice. L’accesso alla finestra di stampa avviene mediante l’oggetto window.

Vediamo un esempio di bottone che, una volta premuto, attiverà la finestra di dialogo della stampa:

<button onclick="window.print();">
  Stampa la pagina
</button>

Qualora, al posto del bottone, si preferisse un link si userà questo codice:

<a href="javascript:window.print();">Stampa la pagina</a>

Volendo è anche possibile avviare automaticamente il processo di stampa automaticaente, cioè senza alcuna richiesta esplicita dell’utente. Per farlo si farà ricorso all’evento onload direttamente nel corpo del documento:

<body onload="window.print();">

L’effetto dei codici visti sopra sarà quello di avviare il processo di stampa del contenuto dell’intera pagina web. Ma se si volesse consentire all’utente di stampare una singola porzione della pagina e non l’intero documento? Sicuramente la faccenda si farebbe più complicata…

Inserire un pulsante / link per stampare una specifica porzione della pagina web

Volendo creare un pulsante in grado di attivare la stampa non dell’intero documento ma solo di una sua porzione si potrebbe agire nel modo seguente:

  1. Inseriamo, tra i tag <head> e </head>, la seguente funzione Javascript (incapsulandola, ovviamente, tra i tag <script> e </script>)
function stampa_id(ele_id) {
  var nw = window.open();
  nw.document.write(document.getElementById(ele_id).innerHTML);
  nw.print();
  nw.close();
}
  1. Contrassegnamo il contenuto da stampare inserendolo all’interno di un elemento (ad esempio un paragrafo o un DIV) cui andremo ad assegnare un identificativo univoco attraverso l’attributo "id".

Ad esempio:

<p>... BLA BLA BLA ...</p>
<p id="da_stampare">... TESTO DA STAMPARE ...</p>
<p>... BLA BLA BLA ...</p>
  1. Creiamo un pulsante per avviare la procedura di stampa della porzione di pagina desiderata.

Esempio:

<button onclick="stampa_id('da_stampare');">
  Stampa
</button>

Come potete notare, per avviare la stampa, abbiamo richiamato la nostra funzione "stampa_id()" passando in argomento l’id dell’elemento che contiene il contenuto che si desidera stampare.

Usare CSS per selezionare cosa stampare (e cosa non stampare)

Volendo personalizzare il risultato del processo di stampa della pagina web possiamo agire mediante i fogli di stile, integrando nel CSS del sito una serie di regole all’interno della direttiva @media print.

Una soluzione semplice per selezionare cosa stampare e cosa no potrebbe essere quella di applicare una specifica classe agli elementi della pagina che non vogliamo vengano stampanti (come, ad esempio, menu, banner, annunci pubblicitari, fotter, ecc.).

@media print {
  .no-stampa { display: none !important; }
}

Tutti gli elementi a cui assegneremo la classe "no-stampa" non verranno stampati.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Infinite scroll, come programmarlo su AMP e su Web con Javascript

L'infinite scroll è una tecnica di design e navigazione...

Codice Fiscale: 5 javascript per la verifica e il calcolo

Il codice fiscale รจ un identificativo tributario univoco che...

Math.ceil() – Arrotondare per eccesso con Javascript

Il metodo ceil() dell'oggetto Math di Javascript è utilizzato...

Minificare Javascript: librerie e strumenti online per comprimere il sorgente JS

La minificazione è un processo abbastanza diffuso nell'implementazione delle...

Javascript: svuotare un campo input o una textarea con un click

Quando si fornisce agli utenti un modulo per l'inserimento...

6 video player HTML5 per il tuo sito web

Con il rilascio delle specifiche definitive per HTML5 molte...
Pubblicitร