Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Stampa pagina web in 2 copie

    Ciao a tutti!
    Volevo chiedere se � possibile inserire un tasto "stampa" in una pagina web che una volta cliccato consenta la stampa della pagina in 2 copie senza dover inserire il numero 2 manualmente nelle impostazioni del driver della stampante.

    Una richiesta un po' particolare, spero nel consiglio di qualcuno!

    Grazie mille a tutti!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Spedisci al client una pagina... doppia, la seconda in un div nascosto che si "vede" solo in stampa.

    Puo' essere fatto senza js, con solo CSS, se vuoi il js a tutti i costi potresti impiegarlo per raddoppiare la pagina al momento della stampa

    Questo senza utilizzare le proprieta' della stampante, anche perche' se il js potesse modificare il numero di copie nulla gli impedirebbe di stamparne millemila...
    Ultima modifica di br1; 22-02-2017 a 23:15
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Grazie mille per la dritta! Non ho ben chiaro come impaginare bene le due pagine ma ho capito cosa intendi con i CSS e farò alcune prove!! Se per caso hai qualche link specifico che possa aiutarmi è ben accetto!!

    Grazie mille!!!

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    la soluzione proposta è abbastanza semplice:
    in pratica hai due (o più) contenitori, e due fogli di stile (uno per lo schermo e uno per la stampa)
    es:
    codice:
    css/screen
    #pagina2 {display:none;}
    css/print
    #pagina2 {display:block; page-break-before:always;}
    
    html
    <div id="pagina1">qui quello che vedi a schermo...</div>
    <div id="pagina2">questa è la pagina, copia della prima, non visibile e schermo</div>
    come vedi c'è anche un page-break per assicurarci che la stampa prosegua su una nuova pagina

    buon divertimento

  5. #5
    codice:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Page title</title>
    <style type="text/css" media="screen">
    #copy{display:none}
    </style>
    <style type="text/css" media="print">
    #copy{display:block; page-break-before:always;}
    #print_button{display:none}
    </style>
    <script type="text/javascript">
    function print_page(){
     //se la pagina non è ancora stata duplicata:
     if(!document.getElementById('copy')){
      var page=document.body.innerHTML;
      document.body.innerHTML+='<div id="copy">'+page+'</div>';
     }
     //stampa
     window.print();
    }
    </script>
    </head>
    <body>
    <h1>Lorem ipsum</h1>
    <button type="button" onClick="print_page()" id="print_button">Stampa due copie</button>
    <p> Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <p> Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <p> Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </body>
    </html>
    Cotto e mangiato

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    bello

    ma l'esempio stampa comunque due copie, e se si volesse dare la scelta?
    cioè... da bottone invochi due stampe. ma da "stampa" del browser ne stampa una sola.
    è possibile discriminare?
    Ultima modifica di Vincent.Zeno; 04-03-2017 a 17:15

  7. #7
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    bello

    ma l'esempio stampa comunque due copie, e se si volesse dare la scelta?
    cioè... da bottone invochi due stampe. ma da "stampa" del browser ne stampa una sola.
    è possibile discriminare?
    Da "stampa" del browser ne stampa una sola, è vero, però duplicando la pagina solo al momento della stampa, gli utenti non dovranno scaricare due volte i contenuti.

    La mia soluzione privilegia i tempi di caricamento della pagina.

  8. #8
    Ripensandoci il tuo appunto è sensato.

    Questa nuova versione duplica il body al caricamento della pagina di modo da avere la botte piena e la moglie ubriaca:



    codice:
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Page title</title>
    <style type="text/css" media="screen">
    #copy{display:none}
    </style>
    <style type="text/css" media="print">
    #copy{display:block; page-break-before:always;}
    #print_button{display:none}
    </style>
    <script type="text/javascript">
    window.onload=function(){
     var page=document.body.innerHTML;
     document.body.innerHTML+='<div id="copy">'+page+'</div>';
    }
    </script>
    </head>
    <body>
    <h1>Lorem ipsum</h1>
    <button type="button" onClick="window.print()" id="print_button">Stampa due copie</button>
    <p> Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <p> Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <p> Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </body>
    </html>

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    testato su CH e FF su XP

    nel primo esempio: se il primo tasto premuto è la stampa da browser, stampa una sola pagina. ma se viene premuto dopo il bottone stampa crea due pagine.

    nel secondo esempio sono stampate sempre due pagine


    quindi la domanda rimane (puro esercizio ma mi pare anche logico avere quest'opzione in questo contesto): è possibile discriminare le due modalità di stampa? cioè da browser una stampa naturale (una pagina) e da bottone una stampa doppia?

  10. #10
    In questo contesto mi pare più opportuno stampare in ogni caso due copie.
    Pensa alla scorciatoia da tastiera Ctrl+P, non sarebbe il caso che stampasse due copie?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.