Condividi tramite


Guida introduttiva: Stampa dall'app (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

Questa guida introduttiva mostra il modo più semplice di aggiungere le funzionalità di stampa a un'app di Windows Store.

Guarda questo breve video che offre una panoramica del processo.

Il modo più semplice di stampare dalla tua app di Windows Store consiste nell'usare la funzionalità di stampa di Windows. Per questo scopo, l'app deve:

  • Effettuare la registrazione al contratto Stampa in ogni visualizzazione dell'app da cui vuoi che gli utenti siano in grado di stampare.

    Effettuare la registrazione al contratto Stampa significa ottenere un oggetto PrintManager, creare un oggetto PrintTask e gestire gli eventi di stampa.

  • Fornire il contenuto formattato per la stampa.

    L'esperienza di stampa predefinita mostrata in questa Guida introduttiva riguarda la stampa in Windows della visualizzazione sullo schermo della tua app.

    Nota  È possibile aggiungere funzionalità di stampa personalizzate come la stampa di pagine specifiche o impostazioni di stampa personalizzate solo alle app di Windows Store scritte in C++, C# o Visual Basic e XAML. Per ulteriori informazioni sull'aggiunta di funzionalità di stampa personalizzate all'app, vedi Stampa (XAML).

     

Prerequisiti

  • Devi avere familiarità con il linguaggio HTML, JavaScript, gli eventi di Windows e la gestione degli eventi.
  • Deve essere installato Microsoft Visual Studio.
  • Deve essere installata una stampante.
  • Devi avere un'app a cui aggiungere la funzionalità di stampa. Se non disponi di un'app, puoi scaricare e usare l'app di esempio per la stampa.Nota  Gli esempi mostrati in questa Guida introduttiva sono contenuti nell'app di esempio per la stampa.  

Istruzioni

1. Aprire il codice sorgente dell'app per la modifica

Questa procedura illustra come aprire l'app PrintSampleJS tratta dall'app di esempio per la stampa. Se usi la tua app, aprila in Visual Studio e vai al passaggio successivo.

  1. Apri l'app di esempio per la stampa e scarica l'esempio in JavaScript nel computer.
  2. In Visual Studio fai clic su File > Open Project e passa alla cartella contenente il file della soluzione per l'app di esempio scaricato nel passaggio precedente.
  3. Seleziona il file della soluzione PrintSampleJS e fai clic su Apri.

2. Compila e testa l'app

  1. Fai clic su Compila > Compila soluzione per compilare l'app su cui stai lavorando. Assicurati che non ci siano messaggi di errore nel riquadro Output in fondo allo schermo.
  2. Fai clic su Debug > Avvia senza debug.
  3. Verifica che dopo alcuni secondi sullo schermo venga visualizzata l'app esempio di stampa JS.
  4. Se l'app viene eseguita senza errori, torna a Visual Studio e fai clic su Debug > Termina debug.

3. Registrarsi per la stampa di Windows

A questo punto dovresti disporre di un'app che mostra del contenuto sullo schermo.

Il primo passaggio per aggiungere funzionalità di stampa all'app consiste nell'effettuare la registrazione al contratto Stampa. L'app deve eseguire questa operazione per ogni schermata da cui vuoi che i clienti possano stampare.

Nota  Solo la schermata visualizzata dall'utente può essere registrata per la stampa. Se una schermata dell'app è già stata registrata per la stampa, devi annullare la registrazione alla chiusura. Se viene sostituita da un'altra schermata, questa dovrà effettuare la registrazione per un nuovo contratto Stampa all'apertura.

 

Registrare il contratto Stampa significa ottenere un oggetto PrintManager e definire il gestore per l'evento PrintTaskRequested.

  1. Per ogni schermata dell'app da cui vuoi stampare, aggiungi il codice seguente in modo che venga eseguito all'apertura della schermata. Nell'app di esempio PrintSampleJS questa operazione viene eseguita nel membro ready del parametro members per la funzione WinJS.UI.Pages.define che viene chiamata per creare la schermata.

    var printManager = Windows.Graphics.Printing.PrintManager.getForCurrentView();
    printManager.onprinttaskrequested = onPrintTaskRequested;
    

    Nota  Puoi includere questo codice in una funzione separata, come nel caso dell'app di esempio PrintSampleJS.

     

  2. Aggiungi il gestore dell'evento print-task per tale schermata. Per ogni schermata dell'app può essere necessaria una funzione diversa se, ad esempio, il contenuto di ogni schermata deve essere formattato diversamente per la stampa.

    L'app PrintSampleJS include un gestore completamento, mostrato qui. È utile gestire gli eventi di completamento poiché l'app può quindi segnalare all'utente se si è verificato un errore e fornire le possibili soluzioni. Analogamente, l'app può usare l'evento di completamento per indicare i passaggi successivi che l'utente deve eseguire dopo aver completato il processo di stampa.

    function onPrintTaskRequested(printEvent) {
        var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
            args.setSource(MSApp.getHtmlPrintDocumentSource(document));
    
            // Register the handler for print task completion event
            printTask.oncompleted = onPrintTaskCompleted;
        });
    }
    
    function onPrintTaskCompleted(printTaskCompletionEvent) {
        // Notify the user about the failure
        if (printTaskCompletionEvent.completion === Windows.Graphics.Printing.PrintTaskCompletion.failed) {
            WinJS.log && WinJS.log("Failed to print.", "sample", "error");
        }
    }
    
  3. Compila e verifica l'app come descritto in precedenza.

4. Stampare dall'applicazione

Dopo aver modificare e compilato l'app, verifica le nuove funzionalità nel debugger.

  1. Fai clic su Debug > Avvia debug.
  2. Verifica che, dopo alcuni secondi, sullo schermo venga visualizzata l'app Esempio di stampa JS.
  3. Fai scorrere rapidamente un dito dal lato destro dello schermo per visualizzare i pulsanti di accesso rapido.
  4. Seleziona il pulsante di accesso rapido Dispositivi.
  5. Seleziona una stampante. Dovrebbe aprirsi la finestra Stampa.
  6. Fai clic sul pulsante Stampa nella finestra Stampa per stampare il contenuto della schermata corrente.
  7. Esamina il risultato stampato.

Riepilogo e passaggi successivi

In questa Guida introduttiva hai aggiunto funzionalità di stampa Windows all'app senza modificare il modo in cui gli utenti interagiscono con l'app o il modo in cui l'app formatta il contenuto per la stampa.

Da qui puoi esplorare alcune funzionalità di stampa più avanzate. In Come stampare usando un pulsante di stampa in-app aggiungerai un pulsante di stampa che l'utente potrà usare per stampare dalla tua app di Windows Store.

Nota  

Puoi usare la funzione window.print() di JavaScript per stampare il contenuto dell'app, ma window.print() è una funzione concepita per la stampa del contenuto visualizzato sullo schermo usando l'esperienza di stampa predefinita. Poiché il contenuto visualizzato sullo schermo di un'app di Windows Store non sempre garantisce buoni risultati stampati, chiamare window.print() potrebbe non essere l'approccio migliore. Per garantire un'esperienza ottimale agli utenti, ti consigliamo di usare le funzioni di Windows Runtime e di effettuare la registrazione per il contratto Stampa, come illustrato in questi argomenti.

 

Per esaminare altri scenari di stampa disponibili nelle app di Windows Store, vedi l'app di esempio per la stampa.

Argomenti correlati

App di esempio per la stampa

Procedure consigliate per lo sviluppo di app di Windows Store che supportano la stampa

Sviluppo di app per dispositivo di Windows Store per stampanti