Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2015, 18:43
Gustavo1973
 
Fecha de Ingreso: abril-2007
Ubicación: Merlo
Mensajes: 314
Antigüedad: 17 años, 10 meses
Puntos: 3
Salto de pagina con Printdocument en vb.net

Hola, tengo que imprimir un informe con imagenes y la mejor forma que encontre fue con printdocument, pero me imprime solo la primera pagina.
este es el script.
Código vb:
Ver original
  1. Private Sub print1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles print1.PrintPage
  2.         Dim c, cc, desx, desy, pag As Integer
  3.         Dim Ini As CIniClass
  4.         Dim newImage As Image
  5.         Dim ulCorner As Point
  6.         Dim urCorner As Point
  7.         Dim llCorner As Point
  8.         'Dim TamaoPersonal As Printing.PaperSize
  9.        'Dim Ancho As Short
  10.        'Dim Alto As Short
  11.        e.Graphics.PageUnit = GraphicsUnit.Millimeter
  12.         'Ancho = 210
  13.        'Alto = 297
  14.        'TamaoPersonal = New Printing.PaperSize("A4", Ancho, Alto)
  15.        '
  16.        desx = 10
  17.         desy = 20
  18.         Dim destPara As Point() = {ulCorner, urCorner, llCorner}
  19.         Ini = New CIniClass
  20.         c = 0
  21.         cc = 0
  22.         e.Graphics.DrawString("Productos Faltantes de " & cboTMP.Text, New Font("Arial", 18, FontStyle.Regular), Brushes.Black, 5, 5)
  23.         While Me.lvwFaltante.Items.Count > c
  24.             newImage = Image.FromFile(Me.lvwFaltante.Items(c).SubItems(4).Text)
  25.             ulCorner = New Point(1 + desx, desy)
  26.             urCorner = New Point(30 + desx, desy)
  27.             llCorner = New Point(1 + desx, desy + 26)
  28.             destPara = {ulCorner, urCorner, llCorner}
  29.             ' Draw image to screen.
  30.            e.Graphics.DrawImage(newImage, destPara)
  31.             e.Graphics.DrawString(Me.lvwFaltante.Items(c).SubItems(0).Text, New Font("Arial", 11, FontStyle.Regular), Brushes.Black, desx + 32, desy)
  32.             e.Graphics.DrawString(Me.lvwFaltante.Items(c).SubItems(1).Text, New Font("Arial", 11, FontStyle.Regular), Brushes.Black, desx + 32, desy + 5)
  33.             e.Graphics.DrawString(Me.lvwFaltante.Items(c).SubItems(3).Text, New Font("Arial", 11, FontStyle.Regular), Brushes.Black, desx + 32, desy + 10)
  34.  
  35.             If (cc / 2) = Int((cc / 2)) Then
  36.                 desx = 95
  37.             Else
  38.                 desx = 10
  39.                 desy = (desy + 28)
  40.             End If
  41.             If cc > 18 Then
  42.                 pag = pag + 1
  43.                 e.Graphics.DrawString("Pagina: " & pag, New Font("Arial", 11, FontStyle.Regular), Brushes.Black, desx, desy + 40)
  44.                 e.HasMorePages = True
  45.                 cc = 1
  46.                 'desx = 10
  47.                'desy = 20
  48.                'e.HasMorePages = False
  49.            Else
  50.                 e.HasMorePages = False
  51.                 cc = cc + 1
  52.             End If
  53.             c = c + 1
  54.         End While
  55.         'e.HasMorePages = False
  56.    End Sub
lo imprime, incluso las imágenes, pero solo la primera pagina.
les captura de lo que imprime en archivo.

no se por que no salta la pagina!!!
Gracias