wie kann ich das öffnen von pdf generiert von Berichts-viewer in einem neuen tab?
Ich habe einen code zum erstellen von PDF-und download es
protected void create_pdf_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamIds;
string mimeType = string.Empty;
string encoding = string.Empty;
string extension = string.Empty;
string devinfo = "<DeviceInfo><ColorDepth>32</ColorDepth><DpiX>350</DpiX><DpiY>350</DpiY><OutputFormat>PDF</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.5in</MarginTop>" +
" <MarginLeft>0.5in</MarginLeft>" +
" <MarginRight>0in</MarginRight>" +
" <MarginBottom>0in</MarginBottom>" +
"</DeviceInfo>";
//Setup the report viewer object and get the array of bytes
ReportViewer viewer = new ReportViewer();
viewer.ProcessingMode = ProcessingMode.Local;
viewer.LocalReport.ReportPath = Server.MapPath("~/Installments_Report.rdlc");
DataView dv = new DataView();
DataTable dt = new DataTable();
dv = (System.Data.DataView)SqlDataSource1.Select(System.Web.UI.DataSourceSelectArguments.Empty);
dt = dv.ToTable();
viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
byte[] bytes = viewer.LocalReport.Render("PDF", devinfo, out mimeType, out encoding, out extension, out streamIds, out warnings);
//Now that you have all the bytes representing the PDF report, buffer it and send it to the client.
Response.Buffer = true;
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition", "attachment; filename=" + "Installments" + "List" + "." + extension);
Response.BinaryWrite(bytes); //create the file
Response.Flush(); //send it to the client to download
}
Haben alle Möglichkeiten, öffnen Sie dieses PDF in einem neuen tab oder Seite ?
das ist, weil ich die Schaltfläche zum direkten drucken Sie den Bericht
den Vorschlag, dass zum öffnen der pdf-Datei im neuen tap dann können Benutzer drucken
anderen Vorschlag !!?
Danke für die Hilfe!*
- Verwenden Sie einen html-Anker mit target="_blank", die leitet auf eine neue Seite und die neue Seite ist Page_Load den Bericht zu erstellen?
- okay, aber dieser code für den download nicht zu öffnen Sie die erstellte pdf - @PeetvdWesthuizen
- ich brauche das anzeigen von pdf im browser-Fenster
- um zu erzwingen, öffnen Sie die pdf-zu ändern Content-Disposition-Header-Formular als Anlage zum inline : Content-Type: application/pdf Content-Disposition: inline; filename.pdf
- Schön @2GDev danke 🙂 was ist, wenn ich brauche, um es zu öffnen in neuem tap ? in Betracht habe ich eine Menge von Parametern auf dieser Seite
- Sie sparen könnten, das byte[] in einer Sitzung und verwenden Sie es auf der neuen Seite vielleicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
ich habe Antwort
irgendwo auf dem server
in der Page_Load-qet die pdf-Datei Namen von query-string, und öffnen Sie es
in Page_Load qet die pdf-Datei Namen von query-string, und Öffnen Sie die PDF-Datei im Web-Browser
Gemacht !!!
hoffe, dieser code jemandem helfen zu können 🙂
Danke!!!