2010-05-25 5 views
1

J'essaie de mettre un document pdf dans une page Web. Mais au lieu de regarder ceci dans la page Web, quand cette page est appelée, demandez si nous voulons enregistrer/télécharger un puis ouvrez ceci dans Adobe avec la boîte de dialogue d'imprimante ouverte.ASP.NET Afficher le PDF sur la page Web

Javascript qui appelle cette fonction de chargement de la page

window.open("http://localhost:1843/PrintDocument.aspx?DocumentId="+id+"&Year="+year+"&Location="+loc); 

CODE ASPX DERRIÈRE, Page Fonction de charge:

protected void Page_Load(object sender, EventArgs e) 
     { 

      Response.ContentType = "Application/pdf"; 
      string yr = Request.QueryString["Year"].ToString(); 
      string Dyr = Convert.ToDateTime(yr).Year.ToString(); 
      string Location = Request.QueryString["Location"].ToString(); 
      string DocumentID = Request.QueryString["DocumentId"].ToString();  
      string PDFFile = string.Format(@"\\abc\def\pqr\{0}\{1}\{2}.pdf", Dyr, Location.Substring(0, 4), Location.Substring(4, 4)); 
      //Response.AddHeader("content-disposition", "attachment; filename=document.pdf"); 
      Response.WriteFile(PDFFile); 
      Response.End(); 
     } 
    } 

Répondre

1

Je testais ce code sur firefox et il me manquait le plug-in PDF. Une fois que j'ai ajouté ce plugin il a commencé à travailler avec mon code. Donc, quand vous travaillez avec PDF sur Firefox, assurez-vous que vous avez un plugin PDF.

+1

Ou mieux est quand il y a une installation PDF cassée. – ggonsalv

1

Il existe plusieurs versions possibles.

Par exemple, vous pouvez utiliser la meilleure façon, comme

Response.Clear(); 

string filePath = ur file path on the server 

Response.contentType = "application/pdf"; 

Response.WriteFile(filePath); 

Il a déjà été discuté HERE. Vous pouvez également trouver d'autres options. Vérifiez également HERE et HERE

vous pouvez également utiliser le contrôle personnalisé: PDF Control