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?

Schreibe einen Kommentar