COMO CONFIGURO A PAGINA COM PRINTER
Pessoal estou com problemas pra configurar a página com printer
Estou com uma impressora Epson LX-300 e toda vez que ela termina a impressao ela puxa a quantidade de papel equivalente a uma folha normal e eu queria usar papel de rolo.
Por favor
Estou com uma impressora Epson LX-300 e toda vez que ela termina a impressao ela puxa a quantidade de papel equivalente a uma folha normal e eu queria usar papel de rolo.
Por favor
DÃÅ¡VIDAS ME COMUNICAR! |
'---------------------------------
Controlando a impressão
Até agora temos considerado que a impressora está configurada e pronta para imprimir, bastando somente enviarmos o resultado final para a impressora. Muitas vezes no entanto iremos ter que configurar a impressora durante a elaboração de um relatório antes da impressão, para isto temos a disposição propriedades e métodos que permitem configurar e controlar a impressora. As ações mais comumente realizadas são as seguintes:
Configurar a orientação da impressora
Configurar o número de cópias
Iniciar uma nova página
Cancelar uma impressão já iniciada
Configurar o tamanho do papel utilizado
Configurar a qualidade da impressão
Vejamos um resumo das principais propriedades que nos permitem realizar tal tarefa na tabela 1.0.
Table 1.0 - Propriedades usadas para controlar a impressora
Propriedade Descrição
Copies Configura o número de cópias de cada página.
DeviceName Retorna o nome da impressora
DriverName Retorna o nome do driver da impressora
Duplex Define se a impressão será feita em um lado do papel ou nos dois lados do papel.
FontTransparent Define se texto e gráficos em segundo plano serão mostrados no texto impresso na página.
Orientation Determina a orientação : retrato(portrait) ou Paisagem(landscape)
Page Informa o número da página
PaperBin Muito útil para impressão de formulários pré-impressos. Faz com que haja um pausa na impressão para inserção manual de cada página a ser impressa.
PaperSize Define o tamanho do papel usado na impressão.Pode ser usada configuração onde o tamanho do papel é definido pelo usuário.
Port Retorna o nome da porta usada pela impressora. Pode ser a uma porta local ou de rede.
PrintQuality Define a resolução da impressora: draft, low, medium, ou high.
Zoom Define o percentual pelo qual o tamanho da impressão será efetivado. Assim se definirmos zoom igual a 50 a impressão será a metade do tamanho original.
Para configurar essas propriedades basta atribuir um valor válido a propriedade. Vejamos algums exemplos:
Printer.copies = 2 (Define o número de cópias para 2)
Printer.PaperSize = vbPRPSletter (define o tamanho do papel para: Letter, 8 1/2 x 11 in)
Printer.PaperSize = vbPRPSA4 (define o tamanho do papel para: A4 , 210 x 297 mm)
Printer.Zoom = 50 (Define o zoom em 50% do tamanho original)
Printer.Orientation = vbPRORPortrait ( Define a orientação da impressão para Retrato)
Printer.Page (Imprime o número da página atual)
Voce pode desenvolver uma rotina onde essas propriedades são definidas pelo usuário antes da impressão ou pode deixar o windows fazer o trabalho usando a caixa de diálogo via controle CommonDialog e ativando a caixa de diálogo para impressoras. Vejamos o código necessário para ativar a caixa de diálogo em um programa Visual Basic.
Private Sub Command1_Click ( )
Dim PaginaInicial, Paginafinal , numerodecopias, i
CommonDialog1.CancelError = True
On Error GoTo Trataerro
'mostra a janela para impressora
CommonDialog1.ShowPrinter
'Captura os valores definidos pelo usuário na janela
PaginaInicial = CommonDialog1.FromPage
PaginaFinal = CommonDialog1.ToPage
NumerodeCopias = CommonDialog1.Copies
For i=1 to Numerodecopias
'aqui entra o seu código para imprimir
Next
Exit Sub
TrataErro:
Exit Sub
End Sub

'----------------------------------------------------------------------------
Iniciando uma nova Página
Durante a impressão chega o momento que a página esta completa e é hora de iniciar a impressão em uma nova págiona .O objeto Printer não possui nenhum evento que nos diga quando o fim da página chegou ou quando uma nova página iniciou. Para forçar uma nova página basta comandar:
Printer.NewPage
Podemos controlar isto construindo uma rotina própria através da combinação das propriedades CurrentY e ScaleHeight e do método TextHeight. Vejamos como fazer isto no código a seguir:
If Printer.CurrentY + Printer.TextHeight(linha) > Printer.ScaleHeight Then
Printer.NewPage
ImprimeCabeçalho
End If
Printer.Print linha
O código soma o valor da propriedade CurrentY(coordenada vertical) e a altura da linha a ser impressa. Se a soma for maior que a medida da propriedade ScaleHeight (medida vertical da página) , então forçamos uma quebra de página ,com inicio de uma nova página , e imprimimos o cabeçalho na página.
'---------------------------------
Para terminar que tal uma relação da Knowledge Base da Microsoft com vários links sobre impressão no VB.
Fique a vontade...
COMO FAZER
Q264036 - Versions: VB6 Level: Advanced
HOWTO: Determine Whether a Printer Is a PostScript Printer
Q190218 - Versions: VB4/32 VB5 VB6 Level: Intermediate
HOWTO:Retrieve Settings From a Printer Driver
Q154078 - Versions: VB4/32 VB5 VB6 Level: Intermediate
HOWTO: Send Raw Data to a Printer Using the Win32 API from VB
Q243075 - Versions: Win95 Win98 WinNT Level: Intermediate
HOWTO: Troubleshoot Network Printing Problems
Q178076 - Versions: VB5 VB6 Level: Intermediate
HOWTO: Use a PictureBox to Control Orientation Printing a Form
Q193943 - Versions: VB4/32 VB5 VB6 Level: Intermediate
HOWTO: Use GetDeviceCaps to Determine Margins on a Page
http://support.microsoft.com/support/kb/articles/Q194/7/89.asp
http://support.microsoft.com/support/kb/articles/Q242/0/45.asp
http://support.microsoft.com/support/kb/articles/Q254/4/96.asp
Bem , acho que já esta na hora de encerrar o artigo senão vira um livro...
LEMBRE-SE:
'---------------------------------
Controlando a impressão
Até agora temos considerado que a impressora está configurada e pronta para imprimir, bastando somente enviarmos o resultado final para a impressora. Muitas vezes no entanto iremos ter que configurar a impressora durante a elaboração de um relatório antes da impressão, para isto temos a disposição propriedades e métodos que permitem configurar e controlar a impressora. As ações mais comumente realizadas são as seguintes:
Configurar a orientação da impressora
Configurar o número de cópias
Iniciar uma nova página
Cancelar uma impressão já iniciada
Configurar o tamanho do papel utilizado
Configurar a qualidade da impressão
Vejamos um resumo das principais propriedades que nos permitem realizar tal tarefa na tabela 1.0.
Table 1.0 - Propriedades usadas para controlar a impressora
Propriedade Descrição
Copies Configura o número de cópias de cada página.
DeviceName Retorna o nome da impressora
DriverName Retorna o nome do driver da impressora
Duplex Define se a impressão será feita em um lado do papel ou nos dois lados do papel.
FontTransparent Define se texto e gráficos em segundo plano serão mostrados no texto impresso na página.
Orientation Determina a orientação : retrato(portrait) ou Paisagem(landscape)
Page Informa o número da página
PaperBin Muito útil para impressão de formulários pré-impressos. Faz com que haja um pausa na impressão para inserção manual de cada página a ser impressa.
PaperSize Define o tamanho do papel usado na impressão.Pode ser usada configuração onde o tamanho do papel é definido pelo usuário.
Port Retorna o nome da porta usada pela impressora. Pode ser a uma porta local ou de rede.
PrintQuality Define a resolução da impressora: draft, low, medium, ou high.
Zoom Define o percentual pelo qual o tamanho da impressão será efetivado. Assim se definirmos zoom igual a 50 a impressão será a metade do tamanho original.
Para configurar essas propriedades basta atribuir um valor válido a propriedade. Vejamos algums exemplos:
Printer.copies = 2 (Define o número de cópias para 2)
Printer.PaperSize = vbPRPSletter (define o tamanho do papel para: Letter, 8 1/2 x 11 in)
Printer.PaperSize = vbPRPSA4 (define o tamanho do papel para: A4 , 210 x 297 mm)
Printer.Zoom = 50 (Define o zoom em 50% do tamanho original)
Printer.Orientation = vbPRORPortrait ( Define a orientação da impressão para Retrato)
Printer.Page (Imprime o número da página atual)
Voce pode desenvolver uma rotina onde essas propriedades são definidas pelo usuário antes da impressão ou pode deixar o windows fazer o trabalho usando a caixa de diálogo via controle CommonDialog e ativando a caixa de diálogo para impressoras. Vejamos o código necessário para ativar a caixa de diálogo em um programa Visual Basic.
Private Sub Command1_Click ( )
Dim PaginaInicial, Paginafinal , numerodecopias, i
CommonDialog1.CancelError = True
On Error GoTo Trataerro
'mostra a janela para impressora
CommonDialog1.ShowPrinter
'Captura os valores definidos pelo usuário na janela
PaginaInicial = CommonDialog1.FromPage
PaginaFinal = CommonDialog1.ToPage
NumerodeCopias = CommonDialog1.Copies
For i=1 to Numerodecopias
'aqui entra o seu código para imprimir
Next
Exit Sub
TrataErro:
Exit Sub
End Sub

'----------------------------------------------------------------------------
Iniciando uma nova Página
Durante a impressão chega o momento que a página esta completa e é hora de iniciar a impressão em uma nova págiona .O objeto Printer não possui nenhum evento que nos diga quando o fim da página chegou ou quando uma nova página iniciou. Para forçar uma nova página basta comandar:
Printer.NewPage
Podemos controlar isto construindo uma rotina própria através da combinação das propriedades CurrentY e ScaleHeight e do método TextHeight. Vejamos como fazer isto no código a seguir:
If Printer.CurrentY + Printer.TextHeight(linha) > Printer.ScaleHeight Then
Printer.NewPage
ImprimeCabeçalho
End If
Printer.Print linha
O código soma o valor da propriedade CurrentY(coordenada vertical) e a altura da linha a ser impressa. Se a soma for maior que a medida da propriedade ScaleHeight (medida vertical da página) , então forçamos uma quebra de página ,com inicio de uma nova página , e imprimimos o cabeçalho na página.
'---------------------------------
Para terminar que tal uma relação da Knowledge Base da Microsoft com vários links sobre impressão no VB.
Fique a vontade...
COMO FAZER
Q264036 - Versions: VB6 Level: Advanced
HOWTO: Determine Whether a Printer Is a PostScript Printer
Q190218 - Versions: VB4/32 VB5 VB6 Level: Intermediate
HOWTO:Retrieve Settings From a Printer Driver
Q154078 - Versions: VB4/32 VB5 VB6 Level: Intermediate
HOWTO: Send Raw Data to a Printer Using the Win32 API from VB
Q243075 - Versions: Win95 Win98 WinNT Level: Intermediate
HOWTO: Troubleshoot Network Printing Problems
Q178076 - Versions: VB5 VB6 Level: Intermediate
HOWTO: Use a PictureBox to Control Orientation Printing a Form
Q193943 - Versions: VB4/32 VB5 VB6 Level: Intermediate
HOWTO: Use GetDeviceCaps to Determine Margins on a Page
http://support.microsoft.com/support/kb/articles/Q194/7/89.asp
http://support.microsoft.com/support/kb/articles/Q242/0/45.asp
http://support.microsoft.com/support/kb/articles/Q254/4/96.asp
Bem , acho que já esta na hora de encerrar o artigo senão vira um livro...
LEMBRE-SE:
Para mais informações acesse Objeto Printer
Tem várias informações! Até ++
Tem várias informações! Até ++
Tópico encerrado , respostas não são mais permitidas