Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    57

    [VB:NET] Stampa file html

    Ciao a tutti,
    come da titolo, come faccio a stampare da programma un file html? (Quando la lancio mi trovo la stampa del codice.)
    Grazie. Ciao.

  2. #2

    Prova così:

    Inserisci nella tua form un componente WebBrowser (Libreria Microsoft Internet Control) e lo rendi invisibile. Poi utilizzando il metodo Navigate2 carichi la pagina e con il metodo execWB esegui la stampa del documento caricato. Per sapere se il documento è caricato puoi gestire l'evento NavigateComplete2.

    codice:
    Dim Caricato As Boolean
    
    Private Sub Form_Load()
    WebBrowser1.Navigate2 ("c:\prova.htm")
    
    End Sub
    
    
    Private Sub Command1_Click()
    If Caricato Then
        WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
    End If
    End Sub
    
    Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    Caricato = True
    End Sub
    Spero di essere stato abbastanza chiaro.
    Ciao
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    57
    Sei stato chiarissimo e di grande aiuto!!!!!!!! :quote:
    Ti ringrazio tantissimo.
    Ma un'ultima precisazione:
    Il caricamento della pagina e la sua stampa sono all'interno della stessa funzione ed accade che la stampa viene eseguita quando la pagina nn è stata ancora caricata. Come faccio a fermare il programma lasciandogli il tempo di caricare la pagina per poi stamparla automaticamente????
    Cmq sia ancora mille grazie!!!!!

  4. #4
    Con riferimento all'esempio precedente:
    puoi dichiarare una variabile globale (Dim Caricato as Boolean) e impostarla a true nell'evento NavigateComplete2.
    Nella funzione che stampa:

    codice:
    'Metti a false Caricato
    Caricato = False
    WebBrowser1.Navigate2 "c:\prova.htm"
    
    while not caricato
    
         DoEvents  'serve a intercettare gli eventi scatenati
                   'Quindi il ciclo prosegue fino a quando non viene
                   'eseguito WebBrowser1_NavigateComplete2
    
    wend
    
    'All'uscita esegui la stampa
    WebBrowser1.execWB ..........
    Ciao
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    57
    Ok ti ringrazio nuovamente, ma un nuovo dubbio m assale.
    Sul codice che hai scritto all'interno del while DoEvents è il linguaggio vb6, come si fà in vb.net????

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    57
    codice:
    System.Windows.Forms.Application.DoEvents()
    ùdovrebbe essere l'istruzione DoEvents in vb.net, ma non funziona.
    Come si può quindi fare?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    57
    Basta, ho risolto, grazie Boldan.
    Come al solito la soluzione era + semplice di quello che ci si aspettava. Bastava mettere l'istruzione di stampa all'interno dell'evento NavigateComplete2.
    Grazie ancora Boldan!!!!!
    :quote:

  8. #8
    Bene!!
    Io ho provato così (utilizzando DoEvents):

    codice:
        Dim Caricato As Boolean
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AxWebBrowser1.Navigate2("c:\prova.htm")
            Caricato = False
    
            While Not Caricato
                Application.DoEvents() 
            End While
    
            AxWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER)
    
        End Sub
    
        Private Sub AxWebBrowser1_NavigateComplete2(ByVal sender As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event) Handles AxWebBrowser1.NavigateComplete2
            Caricato = True
        End Sub
    Comunque le due soluzioni danno lo stesso risultato.

    Ciao
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  9. #9
    io l'ho usato ma mi spariscono i colori in stampa. eppure la stampante e' impostata per usarli....qualche idea???? hellpppp
    -------------------------
    CENTROCANOA.COM

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.