Visual Basic.NET - Impresion en media carta vb.net

 
Vista:

Impresion en media carta vb.net

Publicado por Byrpa (1 intervención) el 02/12/2018 23:24:39
Yo tenia problemas con imprimir en mediacarta y asi lo solucione. Espero que le pueda ayudar a alguien.

Saludos cordiales

vb.net
Windows 10
Visualbasic .net 2015
Crystal report 13.0.16

En Windows 10
Impresion en media carta
1. Cambiar el nombre de la impresora en donde se va a imprimir en media carta.
a. Boton derecho en banderita
b. Clic en "configuracion"
c. Clic en "dispositivos"
d. Clic en "impresoras y escaneres"
e. Clic en la impresora que va a cambiarse de nombre y clic en "Administrar"
f. Clic en Propiedades de la Impresora
g. Poner alli el nombre "ordenes"
h. Clic en "Aplicar"
2. Crear un papel personalizado.
a. Clic en "Preferencias"
b. Clic en la pestaña "User Defined Paper"
c. En la casilla de "New Name" poner "mediacarta"
d. Marcar "Inch"
e. En paper size poner
width 8.5
Height 5.5
f. Clic en "Save"
g. Clic en "Aceptar"
3. En el Visual Basic .net ingresar al reporte a modificar.
a. Boton derecho en el reporte.
b. Clic en "Diseño"
c. Clic en "Configuración de página"
d. Quitar Cheque de "Ninguna Impresora"
e. Seleccionar la impresora acabada de crear en este ejemplo "ordenes"
f. Poner Cheque "Disociar tamaño de pagina..."
g. Seleccionar el tamaño de papel creado llamado "mediacarta"
h. Clic en aceptar.


En Visual Basic.net
1
2
3
4
5
6
7
8
9
10
11
12
Dim MyReporte As New rpt_orden01  'Nombre delarchivo RPT
Dim doctoprint As New System.Drawing.Printing.PrintDocument()
doctoprint.PrinterSettings.PrinterName = "ordenes"
For i = 0 To doctoprint.PrinterSettings.PaperSizes.Count - 1
    Dim rawKind As Integer
    If doctoprint.PrinterSettings.PaperSizes(i).PaperName = "mediacarta" Then
        rawKind = CInt(doctoprint.PrinterSettings.PaperSizes(i).GetType().GetField("kind", Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic).GetValue(doctoprint.PrinterSettings.PaperSizes(i)))
        MyReporte.PrintOptions.PaperSize = rawKind
        MyReporte.PrintToPrinter(1, False, 1, 1)
        Exit For
     End If
Next

Compilar el programa y probar. Suerte.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder