Crystal Report - Fijar tamaño por codigo Crystal Report 2015

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 2 puestos en Crystal Report (en relación al último mes)
Gráfica de Crystal Report

Fijar tamaño por codigo Crystal Report 2015

Publicado por djnilo (19 intervenciones) el 10/01/2017 16:55:59
buenas tardes

señores programadores tengo una duda con crystal report 2015 el que biene con visual studio 2015 resulta que trato de dejar por defecto la hoja mi impresora epson TM - T88III Tamaño hoja 80mm x 297mm ese el tamaño de la hoja por alguna extraña razon la cambia al imprimir el tamaño a esta otra tamaño LT 8.5 x 11 in

entoces he probado todo lo que conosco yo investigado y nada deje por defecto la el tamaño de hoja que necesito que es 80mm x 297mm en el crystal report igual nada la puse diasociar impresor le puse todo nada

error_tama_o
tratando por internet econtre este codigo trate adaptarlo mis necesidades pero no se como hacer por codigo el tamaño de hoja

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub FrmVerBoleta_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            Dim print_name As String = "EPSON TM-T88III Receipt"
            'Obtener nombre de hoja personalizada
            Dim print_paper As String = "Papel"
 
            'Opciones del Crystal Report
            Dim repOptions As CrystalDecisions.CrystalReports.Engine.PrintOptions
            'Se aplican al informe
            With oRepo
                'Se obtienen la opciones de impresion
                repOptions = .PrintOptions
                'Se setean las opciones
                With repOptions
                    'Obtiene el id del papel --> utiliza una función especial
                    .PaperSize = GetPapersizeID(print_name, print_paper)
                    'Señala la impresora a utilizar
                    .PrinterName = print_name
                End With
                oRepo.Load(Application.StartupPath & "\RptBoleta.rpt")
                oRepo.SetDataSource(oDatos)
                Me.CrvBoleta.ReportSource = oRepo
            End With
 
 
 
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

este codigo leo puese en el load del formulario me parece que esta mal

presiono imprimir y me sigue tirando el otro papel (tamaño LT 8.5 x 11 in) no corresponde

funcion que puse en el mismo formulario

le puse un nombre al tamaño de hoja nombre (papel)lo deje por defecto pero nada
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Function GetPapersizeID(ByVal PrinterName As String, ByVal PaperSizeName As String) As Integer
        Dim pdprint As New System.Drawing.Printing.PrintDocument()
        Dim PaperSizeID As Integer = 0
        Dim ppname As String = ""
        pdprint.PrinterSettings.PrinterName = PrinterName
        For i As Integer = 0 To pdprint.PrinterSettings.PaperSizes.Count - 1
            Dim rawKind As Integer
            ppname = PaperSizeName
            If pdprint.PrinterSettings.PaperSizes(i).PaperName = ppname Then
                rawKind = CInt(pdprint.PrinterSettings.PaperSizes(i).RawKind)
                PaperSizeID = rawKind
                Exit For
            End If
        Next
        Return PaperSizeID
    End Function
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