PRINTDOCUMENT - IMPRESSÃO
Boa noite pessoal, tudo bem?
estou montando aqui umas impressões em PrintDocument. nos exemplo q achei na net. ele faz o seguinte. abre a caixa de dialog visualiza a impressao.
ate ai tudo bem..
so q eu nao queria visualizar a impressao!
Como eu chamo para imprimir direto na impressora padrão?
sem precisar visualizar!
no botao eu chamo assim.
estou montando aqui umas impressões em PrintDocument. nos exemplo q achei na net. ele faz o seguinte. abre a caixa de dialog visualiza a impressao.
ate ai tudo bem..
so q eu nao queria visualizar a impressao!
Como eu chamo para imprimir direto na impressora padrão?
sem precisar visualizar!
no botao eu chamo assim.
PrintPreviewDialog1.WindowState = FormWindowState.Maximized
PrintPreviewDialog1.ShowDialog()
Tudo o que precisa saber sobre isso esta aqui....
msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.print(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.print(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
eu fiz assim KURTGU
Dim minhafonte1 As New Font([Ô]Lucida Console[Ô], 6, FontStyle.Regular)
e.Graphics.DrawString([Ô]# # # LOJA # # #[Ô], minhafonte1, Brushes.Black, 80, 40)
e.Graphics.DrawString([Ô]RUA: AAAAAAAAAAAAA, BBB F:(19) 0000-0000[Ô], minhafonte1, Brushes.Black, 15, 60)
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, 80)
e.Graphics.DrawString(lblDataEmissao.Text & [Ô] [Ô] & lblHora.Text, minhafonte1, Brushes.Black, 15, 100)
e.Graphics.DrawString([Ô]CLIENTE :[Ô] & Format(CInt(cli_codigo), [Ô]000000[Ô]) & [Ô] - [Ô] & Mid(txtConsumidor.Text, 1, 31), minhafonte1, Brushes.Black, 15, 120)
e.Graphics.DrawString([Ô]ENDEREÇO :[Ô] & Mid(cli_ender, 1, 39), minhafonte1, Brushes.Black, 15, 130)
e.Graphics.DrawString([Ô]BAIRRO :[Ô] & Mid(cli_bairro, 1, 40), minhafonte1, Brushes.Black, 15, 140)
e.Graphics.DrawString([Ô]CIDADE :[Ô] & TelefoneUltil, minhafonte1, Brushes.Black, 15, 150)
e.Graphics.DrawString([Ô]TELEFONE :[Ô] & cli_telefone, minhafonte1, Brushes.Black, 15, 160)
e.Graphics.DrawString([Ô][**** SEM VALOR FISCAL ****] :[Ô], minhafonte1, Brushes.Black, 15, 170)
e.Graphics.DrawString([Ô]DESCRIÇÃO QTD UNITÃRIO TOTAL[Ô], minhafonte1, Brushes.Black, 15, 190)
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, 200)
[ô][ô]a estrutura de repetição abaixo é usada para impressão de todos os itens da lista
y = 210
For i = 1 To dgvProdutos.Rows.Count
e.Graphics.DrawString(Mid(dgvProdutos.Rows(i - 1).Cells(2).Value, 1, 29), minhafonte1, Brushes.Black, 15, y) [ô] AQUI PEGA A DESCRIÇÃO
[ô]e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(2).Value, minhafonte1, Brushes.Black, 15, y) [ô] AQUI PEGA A DESCRIÇÃO
e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(3).Value, minhafonte1, Brushes.Black, 170, y) [ô] AQUI PEGA a QUANTIDADE
e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(4).Value, minhafonte1, Brushes.Black, 190, y) [ô] AQUI PEGA a VLR UNIT
e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(6).Value, minhafonte1, Brushes.Black, 237, y) [ô] AQUI PEGA a VLR total
y = y + 10
Next
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 20
e.Graphics.DrawString([Ô]SUB TOTAL R$[Ô], minhafonte1, Brushes.Black, 15, y)
e.Graphics.DrawString(txtTotalPagar.Text, minhafonte1, Brushes.Black, 225, y)
y = y + 10
e.Graphics.DrawString([Ô]TOTAL A PAGAR R$[Ô], minhafonte1, Brushes.Black, 15, y)
e.Graphics.DrawString(txtTotalPagar.Text, minhafonte1, Brushes.Black, 225, y)
y = y + 20
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 20
e.Graphics.DrawString([Ô]***** COMPRA A PRAZO - NOTA PROMISSORIA *****[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]Autorizo a utilização deste cupom como NOTA[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]PROMISSORIA, e pagarei a quantia de: [Ô] & txtTotalPagar.Text, minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]no dia: [Ô] & lblDataEmissao.Text, minhafonte1, Brushes.Black, 15, y)
y = y + 50
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô] ASSINATURA DO CLIENTE [Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]CXA: 001 [Ô] & [Ô] USUARIO: 0001 [Ô] & [Ô] CUPOM: [Ô] & Format(CInt(lblNumero_NFe.Text), [Ô]00000[Ô]), minhafonte1, Brushes.Black, 15, y)
[ô]
y = y + 30
e.Graphics.DrawString([Ô] VOLTE SEMPRE!!! [Ô], minhafonte1, Brushes.Black, 15, y)
e no botão eu chamo a função de imprimir assim
PrintPreviewDialog1.WindowState = FormWindowState.Maximized
PrintPreviewDialog1.ShowDialog()
opaaa achei o que queria.
era somente isso no botao de imprimir...
para ele imprimir direto sem abrir a caixa de dialog
http://vb.net-informations.com/datagridview/vb.net_datagridview_printing.htm
PrintDocument1.Print()
era somente isso no botao de imprimir...
para ele imprimir direto sem abrir a caixa de dialog
http://vb.net-informations.com/datagridview/vb.net_datagridview_printing.htm
KURTGU, sabe me dizer se com esse metodo de impressão é PossÃvel imprimir nas impressoras Não Fiscal da Bematech, Epson, Daruma ??
Citação::
eu fiz assim KURTGUDim minhafonte1 As New Font([Ô]Lucida Console[Ô], 6, FontStyle.Regular)
e.Graphics.DrawString([Ô]# # # LOJA # # #[Ô], minhafonte1, Brushes.Black, 80, 40)
e.Graphics.DrawString([Ô]RUA: AAAAAAAAAAAAA, BBB F:(19) 0000-0000[Ô], minhafonte1, Brushes.Black, 15, 60)
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, 80)
e.Graphics.DrawString(lblDataEmissao.Text & [Ô] [Ô] & lblHora.Text, minhafonte1, Brushes.Black, 15, 100)
e.Graphics.DrawString([Ô]CLIENTE :[Ô] & Format(CInt(cli_codigo), [Ô]000000[Ô]) & [Ô] - [Ô] & Mid(txtConsumidor.Text, 1, 31), minhafonte1, Brushes.Black, 15, 120)
e.Graphics.DrawString([Ô]ENDEREÇO :[Ô] & Mid(cli_ender, 1, 39), minhafonte1, Brushes.Black, 15, 130)
e.Graphics.DrawString([Ô]BAIRRO :[Ô] & Mid(cli_bairro, 1, 40), minhafonte1, Brushes.Black, 15, 140)
e.Graphics.DrawString([Ô]CIDADE :[Ô] & TelefoneUltil, minhafonte1, Brushes.Black, 15, 150)
e.Graphics.DrawString([Ô]TELEFONE :[Ô] & cli_telefone, minhafonte1, Brushes.Black, 15, 160)
e.Graphics.DrawString([Ô][**** SEM VALOR FISCAL ****] :[Ô], minhafonte1, Brushes.Black, 15, 170)
e.Graphics.DrawString([Ô]DESCRIÇÃO QTD UNITÃRIO TOTAL[Ô], minhafonte1, Brushes.Black, 15, 190)
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, 200)
[ô][ô]a estrutura de repetição abaixo é usada para impressão de todos os itens da lista
y = 210
For i = 1 To dgvProdutos.Rows.Count
e.Graphics.DrawString(Mid(dgvProdutos.Rows(i - 1).Cells(2).Value, 1, 29), minhafonte1, Brushes.Black, 15, y) [ô] AQUI PEGA A DESCRIÇÃO
[ô]e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(2).Value, minhafonte1, Brushes.Black, 15, y) [ô] AQUI PEGA A DESCRIÇÃO
e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(3).Value, minhafonte1, Brushes.Black, 170, y) [ô] AQUI PEGA a QUANTIDADE
e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(4).Value, minhafonte1, Brushes.Black, 190, y) [ô] AQUI PEGA a VLR UNIT
e.Graphics.DrawString(dgvProdutos.Rows(i - 1).Cells(6).Value, minhafonte1, Brushes.Black, 237, y) [ô] AQUI PEGA a VLR total
y = y + 10
Next
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 20
e.Graphics.DrawString([Ô]SUB TOTAL R$[Ô], minhafonte1, Brushes.Black, 15, y)
e.Graphics.DrawString(txtTotalPagar.Text, minhafonte1, Brushes.Black, 225, y)
y = y + 10
e.Graphics.DrawString([Ô]TOTAL A PAGAR R$[Ô], minhafonte1, Brushes.Black, 15, y)
e.Graphics.DrawString(txtTotalPagar.Text, minhafonte1, Brushes.Black, 225, y)
y = y + 20
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 20
e.Graphics.DrawString([Ô]***** COMPRA A PRAZO - NOTA PROMISSORIA *****[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]Autorizo a utilização deste cupom como NOTA[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]PROMISSORIA, e pagarei a quantia de: [Ô] & txtTotalPagar.Text, minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]no dia: [Ô] & lblDataEmissao.Text, minhafonte1, Brushes.Black, 15, y)
y = y + 50
e.Graphics.DrawString([Ô]-------------------------------------------------[Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô] ASSINATURA DO CLIENTE [Ô], minhafonte1, Brushes.Black, 15, y)
y = y + 10
e.Graphics.DrawString([Ô]CXA: 001 [Ô] & [Ô] USUARIO: 0001 [Ô] & [Ô] CUPOM: [Ô] & Format(CInt(lblNumero_NFe.Text), [Ô]00000[Ô]), minhafonte1, Brushes.Black, 15, y)
[ô]
y = y + 30
e.Graphics.DrawString([Ô] VOLTE SEMPRE!!! [Ô], minhafonte1, Brushes.Black, 15, y)
Aonde voce achou este codigo?
Eu achei um exemplo do Marcoratti, um exemplo bem simples... dai fui adaptando a minha necessidade.
esse layout ai eu criei conforme vou precisar.
eu to fazendo uns testes aqui numa impressora A4- Epson.
so nao sei se vai servir nas Impressoras Não Fiscal Bematch, Epson... formato de Cupom.
eu tinha um cupom em maos. dae fui desenhando modificando ate ficar nesse layout no tamanho certo.
agora falta testar nas impressoras não fiscal.
esse layout ai eu criei conforme vou precisar.
eu to fazendo uns testes aqui numa impressora A4- Epson.
so nao sei se vai servir nas Impressoras Não Fiscal Bematch, Epson... formato de Cupom.
eu tinha um cupom em maos. dae fui desenhando modificando ate ficar nesse layout no tamanho certo.
agora falta testar nas impressoras não fiscal.
Não isso nao ira funcionar em impressoras de cupom nao fiscal, ja ultilizei desta tecnica... No final voce ira encontrar algo que passei e demorei quase 2 meses pra resolver mais boa sorte..
Citação::
Não isso nao ira funcionar em impressoras de cupom nao fiscal, ja ultilizei desta tecnica... No final voce ira encontrar algo que passei e demorei quase 2 meses pra resolver mais boa sorte..
caramba :( me ferrei então passei a noite ontem fazendo isso.
Kurtgu qual seria o procedimento para isso ?
Eu uso direto o printdocument para imprimir cupom fiscal eletrônico nas impressoras Epson, daruma, bematech... e nunca deu erro
O único cuidado que vc deve ter é colocar essa linha
[Varialvel PrintDocument].PrintController = New Printing.StandardPrintController
pois senão ele mostra a mensagem imprimindo com o botão Cancelar Impressão default e se o usuário pressionar Enter, vai cancelar a impressão
O único cuidado que vc deve ter é colocar essa linha
[Varialvel PrintDocument].PrintController = New Printing.StandardPrintController
pois senão ele mostra a mensagem imprimindo com o botão Cancelar Impressão default e se o usuário pressionar Enter, vai cancelar a impressão
Tópico encerrado , respostas não são mais permitidas