FILESYSTEMWATCHER X WEBBROWSER

FOXMAN 09/08/2012 17:47:42
#407602
No momento eu estou trabalhando apenas com um form, e até ontem consegui imprimir mas de forma descontrolada. Como estava utilizando um Loop, para ficar verificando uma variavel, houve caso que um mesmo boleto foi impresso varias vezes.

Estou utilizando o FileSystemWatcher apenas para pegar o caminho e nome do arquivo.

Atualmente estou utilizando assim.


  Imports System.IO

Public Class Form1
Private WB As New WebBrowser()
Public Event DocumentCompleted As WebBrowserDocumentCompletedEventHandler
Dim WithEvents Arquivo As New FileSystemWatcher()

Public Sub inFile_All(ByVal sender As Object, ByVal e As FileSystemEventArgs) Handles Arquivo.Created
Try
pathfile = e.FullPath
Me.WebB.Url = New System.Uri(pathfile, System.UriKind.Absolute)
Me.WebB.Show()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString)
End Try
End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Arquivo.Path = [Ô]C:\BOLETO[Ô]
Arquivo.IncludeSubdirectories = False
Arquivo.Filter = [Ô]*.html[Ô]
Arquivo.NotifyFilter = NotifyFilters.FileName
Arquivo.EnableRaisingEvents = True
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = False
End Sub

End Class



Dessa forma ele não abre diversos forms, exibe o boleto, porém não é possivel comandar a impressão automática.

Ontem havia necessiade de eu comandar apenas uma impressão e depois o sistema comandava automaticamente(descontrolada)

FOXMAN 09/08/2012 18:30:07
#407610
Mas JABA, aqui funciona, ele abre corretamente o arquivo colocado na pasta. Lembrando que Me.WebB.Show() esta se referindo ao objeto webbrowser e não ao formulario. No caso o .Show() do objeto webbrowser mostra o html no objeto, e não uma nova instancia do formulário.
Sendo assim não está sendo criado uma nova instancia do FSW.

E a duplicidade estava relacionada a outro teste que fiz que não deu certo.


CAIO.FR.SP 09/08/2012 18:39:42
#407611
FOXMAN, e se você usar JavaScript para imprimir assim que a pagina for carregada. Dai o VB só vai tratar de jogar o HTML no WebBrowser e javascript contido na pagina faz o resto.
JABA 09/08/2012 19:34:52
#407613
Citação:

Mas JABA, aqui funciona, ele abre corretamente o arquivo colocado na pasta. Lembrando que Me.WebB.Show() esta se referindo ao objeto webbrowser e não ao formulario. No caso o .Show() do objeto webbrowser mostra o html no objeto, e não uma nova instancia do formulário.
Sendo assim não está sendo criado uma nova instancia do FSW.

E a duplicidade estava relacionada a outro teste que fiz que não deu certo.



pois é, eu percebi isso depois. Eu retirei o codigo pensando que você não tinha visto ainda.

vlw
FOXMAN 09/08/2012 20:06:37
#407619
Citação:

:
FOXMAN, e se você usar JavaScript para imprimir assim que a pagina for carregada. Dai o VB só vai tratar de jogar o HTML no WebBrowser e javascript contido na pagina faz o resto.



Tem algum exemplo ????

FOXMAN 09/08/2012 20:12:02
#407621
Seguinte, eu tenho uma outra opção, porém ainda existe um inconveniente, que não me permite utiliza-lo.

Fazer uma chamada a :
rundll32.exe mshtml.dll,PrintHTML [Ô]c:\boleto\p9660.html[Ô]

Essa linha de comando, abre a janela de dialogo de impressão. Teria alguma forma de não abrir o Dialogo e enviar diretamente para impressora ?

JABA 09/08/2012 20:31:04
#407623
Dá uma olhada agora e vê se isso te atende.

Fiz alguns comentarios no form2.

vlw
FOXMAN 09/08/2012 21:39:59
#407631
Citação:

:
Dá uma olhada agora e vê se isso te atende.

Fiz alguns comentarios no form2.

vlw



Jaba, testei aqui e não imprimiu nada quando joguei um arquivo em c:\boleto

Por acaso você conseguiu imprimir ai ????? pois pode ser outro problema e eu não estou detectando.
FOXMAN 09/08/2012 22:23:49
#407633
Citação:

:
:
Dá uma olhada agora e vê se isso te atende.

Fiz alguns comentarios no form2.

vlw

Jaba, testei aqui e não imprimiu nada quando joguei um arquivo em c:oleto

Por acaso você conseguiu imprimir ai ????? pois pode ser outro problema e eu não estou detectando.



Bem, como eu estava começando a desconfiar, me parece algum bug, ou algum erro do windows.
E eu aqui me matando desde ontem....

Seguinte.

Reiniciei o pc, e excutei o seu exemplo novamente, funcionou nos primeiros boletos, depois , não funcionou mais. Cheguei jogar de uma unica vez uns 4 boletos e imprimiu normal, porém depois não imprimiu mais.

Não é nada relacionado com o sistema, pois abri o boleto com o IE e não consegui imprimir.
JABA 09/08/2012 22:27:13
#407634
Resposta escolhida
Como eu não tenho uma impressora, ele abriu uma caixa de dialogo quando executa o print do webBrowser.
Naquele msgbox dentro do Form2 que está comentado, ele me mostra todo o html certinho. Se voce tiver um rotina para imprimir, é só substituir a mensagem pela rotina.

A ideia no segundo exemplo é essa mesmo?

vlw
Página 2 de 3 [24 registro(s)]
Tópico encerrado , respostas não são mais permitidas