PRINTDOCUMENT E SHOWDIALOG

PERCIFILHO 30/10/2012 17:05:33
#413176
Gostaria de saber se é possível, na minha aplicação, gero um relatório com o PrintDocument.
Precisaria que ao clicar no botão imprimir, imprimisse diretamente em uma impressora virtual (CutePdf) e salvando o relatório com um nome, sem aparecer a caixa de diálogo.
Enfim, gostaria de passar esses parâmetros antes de imprimir o relatório, assim não apareceria a caixa de díálogo para o usuário ter que digitar o nome do arquivo para gravar, escolher qual impressora vai imprimir, etc. Depois de gravado este relatório, preciso abrí-lo para visualização.

Conseguiram entender?

Até mais.
PERCIFILHO 01/11/2012 09:46:09
#413333
Ninguém???

PERCIFILHO 01/11/2012 13:20:06
#413369
Public Class Form1

Private pd As Printing.PrintDocument = New Printing.PrintDocument()
Private pDia As New PrintDialog()
Private ps As New PrinterSettings()

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddHandler pd.PrintPage, New Printing.PrintPageEventHandler(AddressOf Me.pdlista_PrintPage)

pDia.Document = pd
ps.DefaultPageSettings.PrinterSettings.PrinterName = [Ô]CutePDF Writer[Ô]
ps.DefaultPageSettings.PrinterSettings.PrintFileName = [Ô]g:elatorio.pdf[Ô]

ps.DefaultPageSettings.Landscape = False
ps.DefaultPageSettings.Margins.Top = 10
ps.DefaultPageSettings.Margins.Left = 10
pd.PrinterSettings = ps

Try
pd.Print()
Catch exc As Exception
MessageBox.Show([Ô]Printing error![Ô] & vbLf + exc.Message, [Ô]Error[Ô], MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try

Me.Dispose()
Me.Close()

System.Diagnostics.Process.Start([Ô]g:elatorio.pdf[Ô])

End Sub

Private Sub pdlista_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
e.Graphics.DrawString([Ô]Pós Vendas[Ô], New Font([Ô]Consolas[Ô], 14, FontStyle.Bold), Brushes.Black, 50, 43) [ô] coluna, linha
[ô] insere a linha sublinhada do título
e.Graphics.DrawLine(Pens.Black, 50, 65, 760, 65)
e.Graphics.DrawLine(Pens.Black, 50, 66, 760, 66)
[ô]insere a imagem
e.Graphics.DrawImage(Image.FromFile([Ô]g:\sistema\logotipo.jpg[Ô]), 50, 84)
[ô] insere o texto do cabeçalho
e.Graphics.DrawString([Ô]Razão Social: Cep:[Ô], New Font([Ô]Consolas[Ô], 7.5, FontStyle.Bold), Brushes.Black, 250, 82)
e.Graphics.DrawString([Ô] CNPJ: Bairro:[Ô], New Font([Ô]Consolas[Ô], 7.5, FontStyle.Bold), Brushes.Black, 250, 97)
e.Graphics.DrawString([Ô] Endereço: Cidade:[Ô], New Font([Ô]Consolas[Ô], 7.5, FontStyle.Bold), Brushes.Black, 250, 112)
e.Graphics.DrawString([Ô] Nº: UF:[Ô], New Font([Ô]Consolas[Ô], 7.5, FontStyle.Bold), Brushes.Black, 250, 129)
[ô] insere a linha sublinhada do início do cabeçalho
e.Graphics.DrawLine(Pens.Black, 50, 153, 760, 153) [ô] coluna, linha, tamanho, linha fim
e.Graphics.DrawString([Ô]Relatório: [Ô], New Font([Ô]Consolas[Ô], 8, FontStyle.Bold), Brushes.Black, 50, 158)
e.Graphics.DrawString([Ô] 002 - Listagem Geral[Ô], New Font([Ô]Consolas[Ô], 8, FontStyle.Regular), Brushes.Black, 50, 158)
[ô] insere a linha sublinhada do final do cabeçalho
e.Graphics.DrawLine(Pens.Black, 50, 175, 760, 175) [ô] coluna, linha, tamanho, linha fim
End Sub

End Class



Estou querendo que salvar um arquivo PDF em uma pasta que eu determinar via código.
Estou fazendo o programa imprimir através da impressora virtual (CutePDF Writer), porém, aparece uma caixa de diálogo pedindo o nome do arquivo a ser salvo, e eu não queria que aparecese essa caixa, queria que salvasse e, logo após salvar, abrisse o documento para ser visualizado.

Ninguém me dá uma luz para fazer isso?

Até mais.
Tópico encerrado , respostas não são mais permitidas