none
PrintDocument tamaño de página indefinido RRS feed

  • Pregunta

  • Hola

    He de imprimir en una impresora térmica de tickets, mi problema es que no es un tamaño ya predefinido ya que este variará en función de la venta (Más largo o mas corto).

    ¿Alguna idea de como puedo hacerlo?
    viernes, 6 de noviembre de 2009 7:56

Respuestas

  • Hola buenas noches, pues mira yo lo hice asi y si funciona

    Preview1.Document = Doc1
    'Este renglon es para hacer horizontal la hoja
    Doc1.DefaultPageSettings.Landscape =

    True
    Dim TamaoPersonal As Printing.PaperSize
    Dim Ancho As Short
    Dim Alto As Short
    Ancho = 930
    Alto = 1340
    TamaoPersonal =
    New Printing.PaperSize("Oficio", Ancho, Alto)
    Doc1.DefaultPageSettings.PaperSize = TamaoPersonal
    'Este ejemplo yo lo hice para un tamaño oficio cambia los valores a ver si te resulta


    LAlo
    jueves, 12 de noviembre de 2009 2:09

Todas las respuestas

  • hola

    pero como estas armando el ticket, estas usando algun software de reporting?
    o sea Crystal o Reporting service


    en estos ya podrias definir el tamaño de la pagina de tu ticket.


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 6 de noviembre de 2009 14:38
  • Hola Alexis!

    ¿Tiene alguna respuesta acerca de su problema?

    Saludos!

    Rafael Fagundes
    martes, 10 de noviembre de 2009 13:52
    Moderador
  • Hola buenas noches, pues mira yo lo hice asi y si funciona

    Preview1.Document = Doc1
    'Este renglon es para hacer horizontal la hoja
    Doc1.DefaultPageSettings.Landscape =

    True
    Dim TamaoPersonal As Printing.PaperSize
    Dim Ancho As Short
    Dim Alto As Short
    Ancho = 930
    Alto = 1340
    TamaoPersonal =
    New Printing.PaperSize("Oficio", Ancho, Alto)
    Doc1.DefaultPageSettings.PaperSize = TamaoPersonal
    'Este ejemplo yo lo hice para un tamaño oficio cambia los valores a ver si te resulta


    LAlo
    jueves, 12 de noviembre de 2009 2:09
  • Hola buen dia, yo estoy trabajando un ticket de venta con PrintDocument1 en vb 2008 los datos de la venta los recupero de una tabla temporal y para hacer mas grande o chico el ticket segun el numero de articulos lo controlo de la siguiente manera:

    For

     

    Each RVT In RecuperaVentasTEMP

    descrip = Mid(RVT.vDescripcion, 1, 25)

    dcPagaCon = Format(dPagaCon,

    "###,###,###.00")

    dcCambio = Format(dCambio,

    "###,###,###.00")

    precio = Format(RVT.mPrecioPublico,

    "###,###,###.00")

    precio2 = Format(RVT.mPrecioBios,

    "###,###,###.00")

    subfila = Format(RVT.iTotalArticulo * RVT.mPrecioBios,

    "###,###,###.00")

     

    If RVT.bIvaProducto = True Then

    excento =

    "Q"

    totalciva = subfila + totalciva

     

    Else

    excento =

    "E"

    totalsiva = subfila + totalsiva

     

    End If

    e.Graphics.DrawString(descrip,

    New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 10, 10 + (j + 75))

    e.Graphics.DrawString(RVT.iTotalArticulo,

    New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 15, 10 + (i + 88))

    e.Graphics.DrawString(

    "$", New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 43, 10 + (i + 88))

    e.Graphics.DrawString(precio,

    New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 50, 10 + (i + 88))

    e.Graphics.DrawString(

    "$", New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 100, 10 + (i + 88))

    e.Graphics.DrawString(precio2,

    New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 105, 10 + (i + 88))

    e.Graphics.DrawString(

    "$", New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 160, 10 + (i + 88))

    e.Graphics.DrawString(subfila,

    New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 166, 10 + (i + 88))

    e.Graphics.DrawString(excento,

    New Font("Arial", 8, FontStyle.Regular), Brushes.Black, 232, 10 + (i + 88))

    i = i + 33

    j = j + 33

    Y = i * 9

    filas = filas + RVT.iTotalArticulo

     

    Next


    Este codigo va en la parte del cuerpo del ticket ya que imagino con la cabecera y pie de pagin no tienes problemas.

    NOTA: Lo que yo ando buscando es como enviar la secuencia de Escape para q la impresora epson que utilizo haga el corte de papel, ya tengo las secuencias pero no se como enviarlas, si alguien puede aportar algo al respecto estaria genial, saludos...


    martes, 1 de diciembre de 2009 15:20
  •  Dim ps As New PaperSize("Custom", 269, 4000)

            DocumentoAImprimir.DefaultPageSettings.PaperSize = ps

            DocumentoAImprimir.Print()

    este me funciona super bien por los margenes

            
    jueves, 25 de junio de 2015 16:40