Resta inteso che non è possibile avere un bottone e basta, che l' utente preme e parte la stampante; l' azione dovrà sempre passare attraverso la finestrella di dialogo della stampante.
O meglio, sarebbe possibile in locale con software "ad hoc" installato, ma non da web-browser standard; questo, per ragioni di sicurezza altrimenti chiunque potrebbe farti partire le periferiche con dei pulsanti-trappola o addirittura al caricamento della pagina.
Inoltre, non potremmo sapere se l' utente ha la stampante impostata per verticale/orizzontale, scalata ad una percentuale, o se lascia cm. 4 di bordo, ne' che formato di carta ha in uso.
E per questo, è meglio avere la windows che ti da' la possibilità di un preview di stampa, come nella soluzione di Andrea o in quella della pop-up; ne suggerirei anzi l' esecuzione (del pre-view) all' utente.
Un miglioramento nella funzione che ti ho dato, potrebbe consistere nell' aggiunta della riga w.focus() che ti fa ritornare la pop-up in primo piano ri-cliccando il pulsante, nel caso l' utente avesse chiuso la finestrella di dialogo senza procedere alla stampa e sia tornato col focus sulla finestra madre: la pop-up "si siede" allora a icona a la' rimane (va richiamata col mouse):
function stampa(antonio){
w=window.open(antonio, 'fiori_pesco', 'width=500, height=600, resizable=yes, menubar=yes');
w.focus();
w.print();
};
antonio (senza apici) è invece una parola-veicolo che ti consente di passare l' URL (con apici) alla funzione dai comandi:
<input value="STAMPA immagine" type="button" onclick="stampa('http://imgur.com/xCeyT.jpg');">
Ora puoi stampare diverse immagini da diversi pulsanti, con una stessa funzione; si può passare anche un nome diverso da 'fiori_pesco' di volta in volta, o lasciarne uno generico 'large' e tutte le immagini passeranno per una sola pop-up.

Rispondi quotando