none
IMPRIMIR DIRECTO DE LA IMPRESORA EN CRYSTAL REPORT

    Question

  • HOLA SOY NUEVO EN ESTO DE CRYSTAL YA QUE SIEMPRE USABA REPORT SERVER Y QUISIERA SABER COMO HACERLE PARA IMPRIMIR DIRECTO DE LA IMPRESORA ME TOPE CON UN CODIGO PERO ME SALE UN ERROR Y QUISIERA SABER QUE ESTOY HACIENDO MAL AQUI DEJO EL CODIGO

    Try
          Dim ConnInfo As New ConnectionInfo
          'VALORES A MANDAR
          Dim TIPO As Integer = Request.QueryString("TIP")
          Dim TITULO As String = Request.QueryString("TIT")
          'CONEXION DE BD
          With ConnInfo
            .ServerName = serverName
            .DatabaseName = dbName
            .UserID = userID
            .Password = password
          End With
    
          Me.CrystalReportViewer1.ParameterFieldInfo.Clear()
          Dim ParamFields As ParameterFields = Me.CrystalReportViewer1.ParameterFieldInfo
    
          Dim p_EmpID As New ParameterField
          Dim p_EmpID1 As New ParameterField
    
          p_EmpID.Name = "@TIPO"
          Dim p_EmpID_Value As New ParameterDiscreteValue
          p_EmpID_Value.Value = CDec(TIPO)
          p_EmpID.CurrentValues.Add(p_EmpID_Value)
          ParamFields.Add(p_EmpID)
    
          For Each cnInfo As TableLogOnInfo In Me.CrystalReportViewer1.LogOnInfo
            cnInfo.ConnectionInfo = ConnInfo
          Next
    
          Me.CrystalReportViewer1.RefreshReport()
          ''''''''''CODIGO QUE NO ME FUNCIONA''''''''''
          Dim rptDoc As New ReportDocument
           rptDoc.Load("C:\Reportes\Rep.rpt")
          PrintReport("IMPRESORA")
          rptDoc.PrintToPrinter(1, False, 0, 0)
          rptDoc.Dispose()
    
        Catch ex As Exception
        End Try
    

    rptDoc.PrintToPrinter(1, False, 0, 0)

    EN ESTA LINEA ME SALE EL SIGUIENTE ERROR:Unable to connect: incorrect log on parameters

    QUISIERA QUE ME AYUDARAN POR FAVOR

    GRACIAS.
     

    Wednesday, July 21, 2010 11:25 PM

Answers

  • hola ,

    has visto este enlace ?

    How to Print a Crystal Report Programmatically in ASP.NET

    http://www.c-sharpcorner.com/UploadFile/mahesh/CRPrinting10062006161454PM/CRPrinting.aspx

    espero que te sea de utilidad.

     

    enmanuel grullard

    republica dominicana

     

     

    Wednesday, July 21, 2010 11:54 PM

All replies

  • hola ,

    has visto este enlace ?

    How to Print a Crystal Report Programmatically in ASP.NET

    http://www.c-sharpcorner.com/UploadFile/mahesh/CRPrinting10062006161454PM/CRPrinting.aspx

    espero que te sea de utilidad.

     

    enmanuel grullard

    republica dominicana

     

     

    Wednesday, July 21, 2010 11:54 PM
  • Hola issac_30

    Veo que quieres imprimir desde el servidor web o sea desde el codebehind. Esto es lo que necesitas? o cada usuario puede imprimir desde su propia maquina?

    Por el tema del error que te entrega "Unable to connect: incorrect log on parameters" no creo que nos de mucha informacion.
    Verifica que realmente tu reporte contenga se enlace a los datos.


    Imprimir CR desde el servidor
    Aqui desde el codebehind envias imprimir a una impresora que sea accesible desde el servidor web donde corre tu app web. 
    Que sea accesible porque esta instalada y el usuario con que ejecutas tu app web tiene permisos de impresion (verifica esto o debes impersonar tu app web)
    Ademas cuando seria bueno asignar la impresora para verificar que no sea este el problema
    ejemplo en tu caso
          rptDoc.PrintOptions.PrinterName = "MiImpresora";
    El nombre debe ser el mismo con que estainstalada
    (puedes verificarlo 

    Mas abajo te dejo un enlace un PDF que te explica mas detalladamente lo que debes tener en cuenta para imprimir del lado del servidor

     

    Imprimir CR en el CLiente 
    (lo dejo aqui por si alguien le interesa)
    El CR existe una propiedad de control CrystalReportViewer PrintMode que puede estar en modo ActiveX (la que estas utilizando) y en modo PDF (como te imaginaras envia al usuario un pdf) 

    La primera opcion solo corre/se ejecuta sobre IE y le pide al usuario que instale el componente, podrias instalarlo de antemano este componente, no se si tienes ActiveDirectory en tu ambiente de trraanbjo, o el area de soporte tendira que desplegar este componente a todas las maquinas. 

    La otra posibilidad, y dime si te sirve o no, es enviarle un PDF de iguales caracteristicas que el que imprimira pero ahi el usuario debe tener instalado el Adobe Reader para visualizar el reporte y luego mediante el boton d eimprimir de Adobe Reader enviar la impresion definitiva, esta posibilidad como veras no requiere el activex pero si el adobe reader. 

     


    Enlaces:

     - CrystalReportViewer.PrintMode Propiedad
        Obtiene o configura el modo de impresión para imprimir el informe
       http://msdn.microsoft.com/es-es/library/ms226827(VS.90).aspx

     - PDF: Printing Web based reports with Crystal Reports for Visual Studio .NET
       http://resources.businessobjects.com/support/communitycs/TechnicalPapers/crnet_web_app_printing.pdf

     - ReportDocument.PrintOptions
        Obtiene el objeto PrintOptions.
       http://msdn.microsoft.com/es-es/library/ms226018(VS.80).aspx

     - Imprimir desde Crystal Report
       http://msdn.microsoft.com/es-es/library/ms225384(VS.80).aspx

     

     

    Espero que te sirva de ayuda o guia.

     


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
    Wednesday, July 21, 2010 11:56 PM
  • Gracias por sus respuesta Jose A. Fernandez y Enmanuel Grullard Medallas del usuarioMedallas del usuarioMedallas del usuariovoy a checar los enlaces aver si encuentro algo, de hecho este ejemplo que estoy haciendo es de un reporte que ya  jalaba para visualizarlo en pantalla pero como ahora se presentó la necesidad de imprimirlo sin visualizarlo en pantalla, pues apenas ando buscando un ejemplo de como se hace correctamente la impresión sin tener que visualizarse en pantalla y no se si al codigo del reporte que ya tenia nada mas le agregue

     Dim rptDoc As New ReportDocument
           rptDoc.Load("C:\Reportes\Rep.rpt")
          PrintReport("IMPRESORA")
          rptDoc.PrintToPrinter(1, False, 0, 0)
          rptDoc.Dispose()
    pero espero encontrar alguna solucion y mostrarla o si no pues si tienen algun ejemplo completo que lo quieran compartir estaría agradecido.

    Thursday, July 22, 2010 2:29 PM
  • estoy en el proceso de pruebas pero alparecer solo le faltaba esta linea de codigo

    report.SetDatabaseLogon(

    "user", "pass")

    Thursday, July 22, 2010 5:29 PM
  • hola

    te has funcionado algunas de las propuesta ?

    enmanuel grullard

    republica dominicana

    Thursday, July 22, 2010 5:40 PM
  • NO ME HA FUNCIONADO MIRA TENGO ESTE CODIGO

     

    Dim report As New CrystalDecisions.CrystalReports.Engine.ReportDocument

    report.Load(strpath & "RepImp.rpt")

     

    report.PrintOptions.PrinterName = "\\XXX.XXX.X.XXX\HPLaserJ"

    report.SetDataSource(ObjDataRepImprime.Tables(0))

    report.SetDatabaseLogon(userID, password, serverName, dbName)

    report.PrintToPrinter(1,

    False, 0, 0)

    report.Close()

    PERO ME DICE QUE  EL SERVIDOR RPC NO ESTA DISPONIBLE. CUANDO LO CORRO EN LA MAQUINA DONDE ESTA INSTALADA Y ACCESO DENEGADO CUANDO CORRO LA APLICACION EN LA MAQUINA A LA QUE ESTA CONECTADA LA IMPRESOSA

    ALGUIEN SABE QUE PODRA SER????????????? 

    Wednesday, July 28, 2010 5:47 PM
  • Hola issac_30

    Ya estamos cerca, solo falta los permisos

    Veamos por parte...

    PRIMER MENSAJE: "The RCP Server is unavaliable"

    Te convendria ir los mensaje de error de la empresa (que ahora es propietaria de Crystal Report) SAP

    Alli nos lleva a post en un blog que analiza cada punto.... con enlaces a "soluciones" en Microsoft Support

     

    SEGUNDO MENSAJE: "Acceso denegado"

    Debes ejecutar tu app web como un usuario que tenga permisos. 
    Esto se llama impersonar la app web (te dejo el enlace mas arriba)

    Ejemplo:

    <identity impersonate="true" userName="dominio\usuarioJose" password="mipassword"/>

     

    Enlaces:

     

    Espero que te sirva de ayuda o guia


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
    Wednesday, July 28, 2010 11:52 PM
  • HOLA JOSE A. FERNANDEZ YA PROBE LO DE IDENTITY Y YA NO ME SALE EL MENSAJE DE ACCESO DENEGADO PERO AHORA ME ESTOY TOPANDO CON MENSAJES NUEVOS COMO SON:

    1.-La configuración para obtener acceso a la impresora '\\XXX.XXX.X.XXX\HP LaserJet 1015 PCL 5e' no es válida.
    2.-Impresora especificada no válida.

    ESTOY SEGURO QUE YA PASARON POR ESTO SI ALGUIEN TIENE LA SOLUCION SE LO AGRADECERIA........

    Tuesday, August 03, 2010 5:41 PM
  • Estimado la solución se encuentra en la ventana de propiedades de Visual BASIC, elige el componente de Crystal Reports que hayas insertado en tu formulario y limpias los campos de PrinterDriver, PrintarName y PrinterPort, asegurate que todo el componente este por default. Con esto quedará listo. Casi 4 años tardo la respuesta, ojalá a alguien le pueda servir.

    Wednesday, February 26, 2014 10:30 PM