segunda-feira, 14 de maio de 2012

Como imprimir um Form

Para imprimir um Form utilize o componente PrintForm do Visual Power Packs.















Os comandos principais são:

1. Para configurar a orientação da página:

PrintForm1.PrinterSettings.DefaultPageSettings.Landscape =
Boolean

Se Boolean = True, o Form será impresso na orientação Paisagem, se Boolean = False, o Form será impresso na orientação Retrato.

2. Para configurar um tamanho personalizado de papel:

PrintForm1.PrinterSettings.DefaultPageSettings.PaperSize =
New System.Drawing.Printing.PaperSize("String", Int1, Int2)

onde String é um nome para o tamanho do papel e Int1 é um número inteiro para o largura em centésimos de polegada e Int2 é um número inteiro para o comprimento em centésimos de polegada.

3. Para configurar as margens da impressão:

PrintForm1.PrinterSettings.DefaultPageSettings.Margins =
New System.Drawing.Printing.Margins(Int1, Int2, Int3, Int4)

onde Int1, Int2, Int3 e Int4 são números inteiros que cuja unidade é em centésimos de polegada e representam, respectivamente, margem esquerda, direita, superior e inferior. Lembrando que 1 polegada = 2,54 centímetros.

PrintForm1.PrintAction = PrintAction

onde há três opções para a PrintAction

PrintAction.PrintToFile: Imprime para um arquivo;
PrintAction.PrintToPreview: Exibe uma prévia da página antes da impressão;
PrintAction.PrintToPrinter: Imprime diretamente na impressora padrão.

Para utilizar o PrintToFile você deve definir antes para qual arquivo a figura do Form irá com o seguinte comando:
PrintForm1.PrintFileName =
"C:\Teste.eps"

A extensão do arquivo deve ser necessariamente o eps (Para saber mais: http://pt.wikipedia.org/wiki/Encapsulated_PostScript).

5. Para imprimir o Form:

PrintForm1.Print(
Form, printOption)

onde
Form é o formulário que ser quer imprimir, se for o formulário onde está o comando utilize o Me, e as opções de printOption são as seguintes:

PowerPacks.Printing.
PrintForm.PrintOption.ClientAreaOnly: Utiliza uma nova implementação para imprimir a área cliente visível no momento.
PowerPacks.Printing.
PrintForm.PrintOption.CompatibleModeClientAreaOnly: Usa a implementação de impressão compatível para imprimir a área cliente visível no momento.
PowerPacks.Printing.
PrintForm.PrintOption.CompatibleModeFullWindow: Usa a implementação de impressão compatível para imprimir o formulário de área visível no momento. Isso inclui a barra de título, barras de rolagem e borda.
PowerPacks.Printing.
PrintForm.PrintOption.FullWindow: Utiliza uma nova implementação para imprimir o formulário visível no momento. Isso inclui a barra de título, barras de rolagem e borda.
PowerPacks.Printing.
PrintForm.PrintOption.Scrollable: Utiliza uma nova implementação para imprimir a área inteira do cliente, embora alguns estão fora de vista.

Simples, não?

5 comentários:

  1. Show! O que queria a muito tempo.
    Obrigado.

    ResponderExcluir
  2. cara sou muito leigo to começando agora e nao consegui intender nada
    tem como me ajudar ai

    ResponderExcluir
  3. Valeu meu amigo tava quase louco, procurando sobre como fazer isso, muito obrigado, não conseguir fazer direito a conversão mas to tentando aqui até dá certo, vlw mesmo. obrigado...!!!

    ResponderExcluir