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

Abrir documento (c#)

Estas en el tema de Abrir documento (c#) en el foro de .NET en Foros del Web. Hola a todos!!! Vereis, estoy desarrollando una aplicación web en la que tengo un botón que al pinchar sobre él genera un documento en PDF. ...
  #1 (permalink)  
Antiguo 23/02/2007, 08:05
 
Fecha de Ingreso: octubre-2006
Mensajes: 5
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta Abrir documento (c#)

Hola a todos!!!

Vereis, estoy desarrollando una aplicación web en la que tengo un botón que al pinchar sobre él genera un documento en PDF. Hasta ahí bien. Ahora lo que quiero es que, una vez generado el documento, lo abra con el Acrobat Reader... y eso ya no sé como hacerlo. He encontrado ejemplos de como hacerlo con VB, pero con C# no he tenido suerte. Así que agradezco cualquier ayuda, y si me podeis poner algún ejemplito por aqui... pues mucho mejor ;)

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 23/02/2007, 08:49
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Re: Abrir documento (c#)

Hola dudosa. Tenés varias formas de hacerlo. Si tu pdf esta guardado en disco, podés hacerlo de esta forma:

Código:
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.TransmitFile("ruta_a_tu_pdf");
Response.End();
Eso te va a abrir el documento en tu navegador. Si querés que se muestre directamente el diálogo de descarga tenes que agregarle este header:

Código:
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment; filename=" + "nombreArchivo");
Response.ContentType = "application/pdf";
Response.TransmitFile("ruta_a_tu_pdf");
Response.End();
Espero que te sirva.
Saludos.
  #3 (permalink)  
Antiguo 23/02/2007, 09:31
 
Fecha de Ingreso: octubre-2006
Mensajes: 5
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Abrir documento (c#)

Muchas gracias por contestar, Notwen ahora mismo voy a probarlo!

Saludos!
  #4 (permalink)  
Antiguo 23/02/2007, 10:01
 
Fecha de Ingreso: octubre-2006
Mensajes: 5
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Abrir documento (c#)

Ya lo probé y funciona perfecto

Muchas gracias otra vez!
  #5 (permalink)  
Antiguo 29/07/2008, 07:26
 
Fecha de Ingreso: julio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Abrir documento (c#)

Buenas, el codigo funciona perfecto, pero si lo que quiero es que se habra el pdf en un navegador nuevo y no en el mismo donde este el boton?

Gracias!
  #6 (permalink)  
Antiguo 29/07/2008, 13:20
 
Fecha de Ingreso: enero-2008
Mensajes: 144
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Abrir documento (c#)

Entonces primero create una session para que almacenes el grid en memoria, segundo llama a otro formulario nuevo que tu dices y descargas la session y luego el codigo para abrir el documento

Es todo

Salu2
  #7 (permalink)  
Antiguo 30/07/2008, 01:32
 
Fecha de Ingreso: julio-2008
Mensajes: 30
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Abrir documento (c#)

thxxxx
  #8 (permalink)  
Antiguo 01/12/2010, 10:14
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Respuesta: Abrir documento (c#)

Hola a todos.

He visto que an podido resolver sus problemas pero que pasa si yo quiero hacer lo mismo pero que me guarde el archivo PDF en alguna ruta que yo le espesifique??

Gracias de antemano.
Saludos.
  #9 (permalink)  
Antiguo 11/05/2011, 10:54
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Abrir documento (c#)

Axelaser creo que tu lo quieres abrir en otra ventana
te tengo un codigo espero que te sirva.

Abrir.Filter = "Documentos PDF|*.pdf";

if (Abrir.ShowDialog() == DialogResult.OK)
{

FileStream Archivo = new FileStream(Abrir.FileName, FileMode.Open, FileAccess.Read);

byte[] Contenido;

Contenido = new byte[Archivo.Length];

Archivo.Read(Contenido, 0, (int)Archivo.Length);

textBox1.Text = new ASCIIEncoding().GetString(Contenido);

}
  #10 (permalink)  
Antiguo 11/05/2011, 10:56
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Abrir documento (c#)

reypcs aqui te tengo uno ojala te sirva

SaveFileDialog op = new SaveFileDialog();
op.Title = "Guardar Como";
op.Filter = "Documentos de PDF|*.pdf";
if (op.ShowDialog() == DialogResult.OK)
{
string nombrearchivo, contenidoTxt;

nombrearchivo = op.FileName;
StreamWriter archivo = null;
contenidoTxt = textBox1.Text;
archivo = new StreamWriter(op.FileName);
archivo.WriteLine(contenidoTxt);
archivo.Close();

}

saludos.
  #11 (permalink)  
Antiguo 11/05/2011, 10:57
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Abrir documento (c#)

Cita:
Iniciado por galletica12 Ver Mensaje
Axelaser creo que tu lo quieres abrir en otra ventana
te tengo un codigo espero que te sirva.

Abrir.Filter = "Documentos PDF|*.pdf";

if (Abrir.ShowDialog() == DialogResult.OK)
{

FileStream Archivo = new FileStream(Abrir.FileName, FileMode.Open, FileAccess.Read);

byte[] Contenido;

Contenido = new byte[Archivo.Length];

Archivo.Read(Contenido, 0, (int)Archivo.Length);

textBox1.Text = new ASCIIEncoding().GetString(Contenido);

}
Bienvenida al foro galletica12

Creo que a estas alturas ya habrá solucionado la duda porque el tema del 2007.

Vale la intención, pero debo pedirte que por favor evites re abrir temas que llevan tanto tiempo inactivos.

Recuerda darle una miradita a las Politicas de Uso

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)
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 19:38.