2011-06-30 4 views
0

J'ai fait fichier pdf dans bibliothèque iTextSharp. J'utilise le code suivant. PDF est l'enregistrement automatique dans le dossier de fichiers. mais je veux pdf est ouvert est dans un nouvel onglet. Comment c'est possible.ouvert pdf est dans un nouvel onglet

using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) 

     { 

      using (iTextSharp.text.Document doc = new iTextSharp.text.Document()) 
      { 
       using (iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(doc, ms)) 
       { 
        doc.Open(); 
        doc.Add(new iTextSharp.text.Paragraph(lblMessage.Text.ToString())); 
        doc.Close(); 
        Response.Clear(); 
        Response.ContentType = "application/pdf"; 
        Response.AddHeader("content-disposition", "attachment;filename=Receipt3.pdf"); 
        Response.Cache.SetCacheability(HttpCacheability.NoCache); 
        Response.BinaryWrite(ms.ToArray()); 
        System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest(); 
       } 
      } 

     } 

Répondre

3

Vous voudrez peut-être envisager le <a> target attribute. Vous pouvez l'utiliser pour ouvrir le PDF dans une nouvelle fenêtre, peut-être en utilisant quelque chose comme:

<a href="GeneratePdf.ashx?somekey=10" target="_blank"> 

Update- que vous venez de dire que vous ne me dérange pas que ce soit dans une fenêtre de navigateur ou non, mon préféré technique consiste à modifier la disposition du contenu de l'attachement que par réponse MercerTraieste.

Si vous utilisez ASP.NET, il est certainement recommandé d'écrire un HttpHandler personnalisé pour diffuser le PDF pour vous.

Questions connexes