Foros del Web » Programando para Internet » ASPX (.net) »

Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Estas en el tema de Personalizar tamaño del papel en Crystal Reports de VS.Net 2003 en el foro de ASPX (.net) en Foros del Web. Buenas. He buscado y buscado y no lo encuentro. ¿Se puede cambiar el tamaño del papel con el que se exporta un reporte en CR ...
  #1 (permalink)  
Antiguo 12/06/2007, 05:27
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 19 años, 6 meses
Puntos: 4
Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Buenas. He buscado y buscado y no lo encuentro.
¿Se puede cambiar el tamaño del papel con el que se exporta un reporte en CR y que no sea de los definidos en CrystalDecisions.[Shared].PaperSize?

Estoy utilizando una impresora de tarjetas, en la que el papel es CR80 2,13 x 3,38 pulgadas (como una tarjeta de crédito).

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 13/06/2007, 21:41
Avatar de mabarcau  
Fecha de Ingreso: mayo-2005
Mensajes: 317
Antigüedad: 17 años
Puntos: 0
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Lo unico que te queda es crear un tamaño personalizado de impresion dentro de windows (Opciones de Impresion) y establecerlo como predeterminado, luego desde tu aplicacion manda el tamaño por default.

Slds.
  #3 (permalink)  
Antiguo 14/06/2007, 00:47
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 19 años, 6 meses
Puntos: 4
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Gracias por la respuesta mabarcau. Aclaro algunas cuestiones:

En primer lugar, el reporte no lo estoy imprimiendo directamente, si no que lo exporto a MS Word y desde ahí lo imprimo. ¿Por qué hago esto? Porque algunas tarjetas hay que completarlas "manualmente". Me sale siempre en A4, pero si desde Word cambio la impresora y el papel ya se ajusta bien. Supongo que no se podrá hacer que el Word salga ya con el tamaño ajustado ¿o sí?

En el caso general, podría recurrir directamente a PrintToPrinter() sin pasar previamente por Word, pero la impresora de tarjetas no está conectada directamente al servidor de la intranet, sino en otro equipo que la tiene compartida. Con el método PrintToPrinter() obtengo el error "Error en archivo D:\IntraNet\Reportes\CarneCliente.rpt: Solicitud cancelada por el usuario."
Y el código:
Código:
            rpt.PrintOptions.PrinterName = "\\MIGUEL\Smart Driver"
            rpt.PrintOptions.PaperSize = CrystalDecisions.[Shared].PaperSize.DefaultPaperSize
No entiendo como en CR no pensaron en poder definir un tamaño personalizado. En fin.

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 21/06/2007, 08:17
 
Fecha de Ingreso: marzo-2004
Mensajes: 3
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Hola! Yo también tengo el error de : ....rpt: Solicitud cancelada por el usuario! tienes alguna idea de cómo solucionarlo?

Yo estoy haciendo una aplicación web ASP.NET con Visual Basic.net(realmente mi trabajo es hacerle las mejoras al código de una aplicación que ya existe) y me interesa que el botón imprimir imprima!!! no lo hace! :(...

Una de las tantas pruebas que he hecho es que abro la aplicación q está
corriendo en el servidor y le doy al botón e imprime!, lo que quiere decir
que el código que es el mismo que corre localmente funciona! y que toma el
valor de la impresora asignada según mi dir ip. Pero extrañamente eso no ocurre con el código que estoy corriendo localmente en mi máquina, que es el mismo que corre en el servidor!la arquitectura de la aplicación o los componentes que utilizo son el data adapter, el data set y el oracle connection ah y un componente de tipo crystal report.

Otra de las pruebas que realicé fué aislar estos componentes en un
proyecto nuevo y hacer la prueba de impresión con una sola tabla con un sólo
campo, y ver qué tal funciona, y nada...

El código es el siguiente:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Introducir aquí el código de usuario para inicializar la página
Dim Servidor As String = "ccudo.net"
Me.OracleConnection1.ConnectionString = "user id=clinica;data source=" & Servidor & ";password=123"
Me.OracleSelectCommand1.CommandText = "SELECT NUMEROHISTORIA" & _
" FROM HIS_BENEFICIARIOS WHERE NUMEROHISTORIA = :NUMEROHISTORIA"
Me.OracleSelectCommand1.Parameters(":NUMEROHISTORI A").Value = 0
Me.OracleDataAdapter1.Fill(DataSet11)
If Not IsPostBack Then
DataGrid1.DataBind()
End If
Dim SQL As String
Dim rs As System.Data.OracleClient.OracleDataReader
Dim cmd As New System.Data.OracleClient.OracleCommand
Dim NumIp As String
NumIp = "192.168.1.18"
'NumIp = "Request.ServerVariables("Remote_Addr")

Try
Me.OracleConnection1.Open()
Try
cmd.Connection() = OracleConnection1
SQL = " SELECT NOMBREIMPRESORA"
SQL = SQL & " FROM SIS_IMPRESORAS"
SQL = SQL & " WHERE DIRECCIONIP='" & NumIp & "'"
cmd.CommandText = SQL
rs = cmd.ExecuteReader
rs.Read()
Session("Impresora") = rs.GetString(0)
Catch ex As Exception
Console.Write(ex.Message)
End Try
Catch ex As Exception
Finally
Me.OracleConnection1.Close()
End Try
End Sub

ESTO LO HACE BIEN!!!lo he corrido paso a paso y le he puesto variables de
pruebas a ver si almacena lo que debe almacenar y todo está ok.

Ahora en el código del botón imprimir que es el siguiente:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Me.OracleSelectCommand1.Parameters(":NUMEROHISTORI A").Value = 0
Me.OracleConnection1.Open()
'DataSet11.Clear()
Me.OracleDataAdapter1.Fill(DataSet11)
Dim Rep As New CrystalReport1
Rep.SetDataSource(DataSet11) ' Asocia el conjunto de datos con el reporte
'Dim pruebita As String = Session("Impresora")
Rep.Refresh()
Rep.PrintOptions.PrinterName = "\\CCUDO\SamsungC"
Rep.PrintToPrinter(1, False, 0, 0)
Catch ex As Exception
Page.RegisterStartupScript("Error", "<script language=javascript>alert('" + ex.Message + "');</script>")
End Try
End Sub

En este código la instrucción que hace que entre al Catch es la siguiente:
Rep.PrintToPrinter(1, False, 0, 0)

y no imprime nada, y en la barra de estado de la página web me dice listo
pero con errores en la página, al darle doble click sobre el iconito me dice
que Error: Constante de cadena sin terminar, Línea 25 caracter 113.

Me voy al código buscando esa línea y es la siguiente:

Me.OracleSelectCommand1.CommandText = "SELECT NUMEROHISTORIA FROM
HIS_BENEFICIARIOS WHERE (NUMEROHISTORIA = :NUMEROHISTORIA)"
Justo en la condición del WHERE!

Entonces de verdad que ya no sé qué puede estar pasando!le agradecería su
orientación por lo menos que me dé luces de que puedo estar haciendo mal, pq ya no lo veo!!!

Ah he probado también cambiándole los valores de los parámetros del printoprinter, y nada!

Gracias por su tiempo!
Si hay otra persona que esté pasando por esta mismo tormento! le dejo mi email para ponernos en contacto!!
[email protected]
Si tienen la solución pues lo ideal sería colocarla aquí! y si pueden mandarla a mi email mejor! igual estaré pendiente! porfis
  #5 (permalink)  
Antiguo 22/06/2007, 12:57
Avatar de mabarcau  
Fecha de Ingreso: mayo-2005
Mensajes: 317
Antigüedad: 17 años
Puntos: 0
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

El error de solicitud cancelada por el usuario se debe a cuestiones de permisos, si van al machine.config, cambien el nombre del usuario señalado en <processmodel>, en lugar de machine, se ingresa uno con privilegios, puede ser el usuario "SYSTEM", con ello resuelven ese tema.

No es necesario que la pc este conectada directamente al servidor, basta con que este compartida en tu red local.

Link Crystal Reports:
http://support.businessobjects.com/c...p_printing.pdf

slds.

Miguel
  #6 (permalink)  
Antiguo 26/06/2007, 06:04
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 19 años, 6 meses
Puntos: 4
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Ya he cambiado el usuario de la etiqueta processModel de machine.config. Sigo obtienendo el mismo error "Solicitud cancelada por el usuario".
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 26/06/2007, 06:37
 
Fecha de Ingreso: marzo-2004
Mensajes: 3
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Bueno yo hice todo eso y el resto de lo que decía en el pdf, e igualmente no imprimía, seguía dando ese error, extrañamente... por otro problema, tuve que direccionar mi máquina a otra impresora de red, y cuál fué mi sorpresa que con esa impresora si imprime y todo funciona bien!
Si el software no te ayuda... hay q intentar con el hardware!
  #8 (permalink)  
Antiguo 27/06/2007, 05:32
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 19 años, 6 meses
Puntos: 4
Re: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

Marialex_83 gracias por la solución, pero te comento el problema. Efectivamente si cambio la impresora a otra que está en red se imprime sin problemas. En concreto, en la que sí funciona es una HP Color LaserJet 3500 con un servidor de impresión. Esta impresora tiene su propia IP a la que se conectan todos los equipos de la red, incluido el servidor web en el que está la aplicación, mediante un puerto Estándar TCP/IP.
El problema viene al intentar imprimir desde la impresora de tarjetas plásticas. Esta impresora está compartida en la red como \\MIGUEL\Tarjetas, en un equipo distinto al del servidor con un puerto virtual USB. También está incluida en la lista de impresoras del servidor y sale Smart Driver en MIGUEL.

Si en la aplicación pongo:
rpt.PrintOptions.PrinterName = "\\MIGUEL\Smart Driver"
o
rpt.PrintOptions.PrinterName = "\\MIGUEL\Tarjetas"
devuelve el error Solicitud cancelada por el usuario

Si pongo símplemente
rpt.PrintOptions.PrinterName = "Smart Driver"
o
rpt.PrintOptions.PrinterName = "Tarjetas"
devuelve Impresora especificada no válida

Como verás no puedo elegir otra impresora, ya que no se imprime en papel sino en tarjeta plástica. Podría probar también a instalar la impresora en el servidor, pero la persona que necesita acceder a las tarjetas impresas no tiene acceso físico al servidor.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 26/01/2010, 12:44
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Personalizar tamaño del papel en Crystal Reports de VS.Net 2003

amigo lo que debes hacer es digitar desde el pc que estas corriendo el programa en inicio ejecutar lo siguiente \\MIGUEL y cuando te salga la opcion digitar usuario y contraseña chekeas la opcion recordar o guardar contraseña y listo. y en cuanto a la impresora debes darle en una cadena de texto el nombre completo. ejemplo "OneNote 2007" ó "SHARP AR-186L PCL6" o como se llame la tuya nada que ver con los users.

Visita http://www.telezunga.com

Última edición por heiderbp; 26/01/2010 a las 12:45 Razón: se me olvido algo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.