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
tratando por internet econtre este codigo trate adaptarlo a mis necesidades pero no se como hacer por codigo el tamaño de hoja
este codigo lo puse en el load del formulario me parece que esta malCódigo: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
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
Código: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