Abrir e imprimir un PDF en el Cliente con C#.
Publicado por Daniel (1 intervención) el 28/11/2008 10:57:18
Hola, tengo un problema, quiero abrir un PDF e imprimirlo en la impresora predeterminada del cliente, pero no sé cómo hacerlo usando c# (osea, desde el servidor, sin usar código de cliente).
Mi código es el siguiente:
string sRutaPdf = Request.QueryString["rutaPdf"].ToString().Trim();
Response.Clear();
//Abrimos primero el pdf
Response.ContentType = "Application/pdf";
//Con inline -> Abre el pdf en el explorador sin preguntar al cliente si quiere o no abrirlo o guardarlo en disco
//Con attachment -> Funciona como un archivo adjunto,se pregunta al cliente si quiere abrir el archivo o prefiere guardarlo en disco.
Response.AddHeader("Content-disposition", "inline; filename=" + sRutaPdf );
Response.TransmitFile(sRutaPdf);
Response.Flush();
Con esto consigo abrir el PDF, pero mi problema es que después de abrirlo no consigo imprimirlo, el código que tengo insertado después del Response.Flush(); es el siguiente:
Response.Clear();
Response.Write("<script>window.print();</script>");
Response.Flush();
Estas tres últimas instrucciones no hacen nada, parece que después de abrir el pdf ya no me acepta que le meta scripts.
Alguien tiene alguna idea?
Gracias por anticipado.
Saludos!
Mi código es el siguiente:
string sRutaPdf = Request.QueryString["rutaPdf"].ToString().Trim();
Response.Clear();
//Abrimos primero el pdf
Response.ContentType = "Application/pdf";
//Con inline -> Abre el pdf en el explorador sin preguntar al cliente si quiere o no abrirlo o guardarlo en disco
//Con attachment -> Funciona como un archivo adjunto,se pregunta al cliente si quiere abrir el archivo o prefiere guardarlo en disco.
Response.AddHeader("Content-disposition", "inline; filename=" + sRutaPdf );
Response.TransmitFile(sRutaPdf);
Response.Flush();
Con esto consigo abrir el PDF, pero mi problema es que después de abrirlo no consigo imprimirlo, el código que tengo insertado después del Response.Flush(); es el siguiente:
Response.Clear();
Response.Write("<script>window.print();</script>");
Response.Flush();
Estas tres últimas instrucciones no hacen nada, parece que después de abrir el pdf ya no me acepta que le meta scripts.
Alguien tiene alguna idea?
Gracias por anticipado.
Saludos!
Valora esta pregunta


0