Foros del Web » Programación para mayores de 30 ;) » .NET »

Exportar a pdf

Estas en el tema de Exportar a pdf en el foro de .NET en Foros del Web. Hola amigos tengo un problema que no le encuentro solucion, no se k hacer. Tengo una pagina llamada 'Documento.aspx' que tiene un boton que llama ...
  #1 (permalink)  
Antiguo 11/04/2007, 17:21
 
Fecha de Ingreso: septiembre-2006
Mensajes: 55
Antigüedad: 17 años, 7 meses
Puntos: 0
Exportar a pdf

Hola amigos tengo un problema que no le encuentro solucion, no se k hacer.

Tengo una pagina llamada 'Documento.aspx' que tiene un boton que llama a otra pagina con window.open('Imprime.aspx?cod=1') para que me abra en una
ventana nueva.

En la Pagina Imprime he declarado un CrystalReportSource rpt
La pagina Imprime recibe parametros lleno una dataset y le paso a mi rpt.

Luego lo quiero exportar con

....
...
Response.AddHeader("Content-Disposition", "attachment;filename=" + nomreporte);
........

pero al poner attachment me abre el pdf,pero antes de que abra me aparece un cuadro de dialogo que dice Abrir -- Guardar -- Cancelar, yo no quiero que aparesca este cuadro de dialogo

he provado con inline en vez de attachment, pero no levanta la pagina en una ventana nueva, solo me muestra la pagina en blanco como si hubiera kerido cargar el pdf pero estancado...

Por favor necesito de su ayuda..alguna solucion

Gracias
  #2 (permalink)  
Antiguo 12/04/2007, 06:51
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Exportar a pdf

Response.AddHeader("Content-Disposition", "attachment;filename=" + nomreporte);

Si omites esa linea el no lanzara el cuadrito de abrir, guardar, cancelar, creo que te abrira el documento directamente en la ventana activa del navegador y al ser pdf si tienes instalado el acrobat reader se mostrar la barra de herramientas para poder guardar el reporte.

Si no tienes instalado el Acrobat esto no funcionara ya que el navegador no puede abrirlo y por lo tanto ahi si veras el cuadrito abrir, guardar, cancelar

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 12/04/2007, 11:13
 
Fecha de Ingreso: septiembre-2006
Mensajes: 55
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Exportar a pdf

Hola jhonwilliams gracias por responder, he echo lo que me dijiste y levanta el reporte en el misma pagina que la estoy llamando, pero yo quiero que este reporte en pdf se abra en una nueva ventana.
al tratar de abrirlo en una nueva ventana igual se pierde el pdf, es decir me carga una nueva pagina pero aparece en blanco. Ya tengo instalado el acrobat.

Encontre un codigo en internet la direccion es:
dotnetcr.com/Libreria.aspx?art=79&tag=Como-Exportar-Reportes-Crystal-Reports-en-ASPNET

private void ExportaReporte(string tipimp, string nomrep)
{
string nomrepout = "";

System.IO.MemoryStream rptStream = new System.IO.MemoryStream();

if (tipimp == "pdf")
rptStream = ((System.IO.MemoryStream)(rpt.ReportDocument.Expor tToStream(ExportFormatType.PortableDocFormat)));
else if (tipimp == "excel")
rptStream = ((System.IO.MemoryStream)(rpt.ReportDocument.Expor tToStream(ExportFormatType.Excel)));
else if (tipimp == "doc")
rptStream = ((System.IO.MemoryStream)(rpt.ReportDocument.Expor tToStream(ExportFormatType.WordForWindows)));

Response.Clear();
Response.Buffer = true;
Response.ContentType = FormatoDocumento(tipimp, nomrep, out nomrepout);
Response.AddHeader("Content-Disposition", "inline;filename=" + nomrepout);
Response.BinaryWrite(rptStream.ToArray());
Response.End();
}

private string FormatoDocumento(string tipimp, string nomrep, out string nomrepout)
{
string tipo = null;
nomrepout = "";
switch (tipimp)
{
case "excel":
tipo = "application/vnd.ms-excel";
nomrepout = nomrep + ".xls"; break;
case "doc":
tipo = "application/msword";
nomrepout = nomrep + ".doc"; break;
default:
tipo = "application/pdf";
nomrepout = nomrep + ".pdf"; break;
}

return tipo;
}
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 09:03.