Öffnen einer PDF im browser statt Download
Verwende ich iTextSharp, drucken Sie eine Bedienfeld in der PDF auf den button klicken. Nach dem klicken auf den button klicken, wird die PDF-Datei herunterladen auf den client-Rechner. Stattdessen muss ich die PDF in einem browser geöffnet werden anstatt heruntergeladen zu werden. Aus dem browser wird der Benutzer in der Lage, zum download der PDF auf seinen PC.
Ich bin mit dem folgenden code:
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=" + filename + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pnl_print.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
sr.Close();
hw.Close();
sw.Close();
InformationsquelleAutor der Frage Krishna Thota | 2012-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie die
content-disposition
zuinline
stattattachment
.In der zweiten Zeile das snippet wäre dann
Sehen Content-Disposition:Was sind die Unterschiede zwischen "inline" und "Anlage"? für weitere details.
InformationsquelleAutor der Antwort Alexis Pigeon
Versuchen, Diesen Code :
Handlung:
Öffnen in neuem Tab/Fenster:
ODER
InformationsquelleAutor der Antwort Krunal Mevada
Sollten Sie sich die "Content-Disposition" - header; zum Beispiel die Einstellung "Content-Disposition" , "attachment; filename=Dateiname.pdf" wird der Benutzer aufgefordert (in der Regel) mit einem "Speichern unter: Dateiname.pdf" - dialog, anstatt es zu öffnen. Dies muss sich jedoch aus der Anforderung, die den download, so dass Sie können nicht dies tun, während eine Umleitung. Allerdings ASP.NET bietet Antwort.TransmitFile für diesen Zweck. Zum Beispiel (unter der Annahme, dass Sie nicht mit MVC, andere bevorzugten Optionen):
Wenn Sie versuchen, öffnen Sie dann die Datei in apicontroller Konvertieren stream bytesarray und Füllen dann den Inhalt
Ich denke, es wird dir helfen...
InformationsquelleAutor der Antwort Skull