【发布时间】:2015-02-20 21:04:24
【问题描述】:
我正在尝试显示已转换为 PDF 的报告。我找到了一些可以显示 PDF 的代码,但它需要存储在磁盘上。有没有办法在本地临时存储 PDF 以便读者可以调用它?
这是当前用于打印按钮的代码。
namespace Dispatch311.Views
/// <summary>
/// Interaction logic for PrintDialog.xaml
/// </summary>
public partial class PrintDialog : Window
{
public PrintDialog()
{
InitializeComponent();
}
public void DisplayReport(int eventID)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtention;
reportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote;
ServerReport serverReport = reportViewer.ServerReport;
reportViewer.ShowParameterPrompts = false;
serverReport.ReportServerUrl = new Uri("http://sql2008test/reportserver");
serverReport.ReportPath = "/311Reports/311SingleEvent";
ReportParameter ID = new ReportParameter();
ID.Name = "ID";
ID.Values.Add(eventID.ToString());
reportViewer.ServerReport.SetParameters(
new ReportParameter[] { ID });
byte[] bytes = reportViewer.ServerReport.Render(
"PDF", null, out mimeType, out encoding, out filenameExtention,
out streamids, out warnings);
using (FileStream fs = new FileStream("EventPDF.pdf", FileMode.Create))
{
fs.Write(bytes, 0, bytes.Length);
}
reportViewer.RefreshReport();
}
}
【问题讨论】:
标签: winforms pdf visual-studio-2012 reportviewer filestream