一尘不染

在后台从RDLC报告创建PDF

c#

我正在运行一个月末流程,希望它可以自动创建一些当时需要创建的报告。我正在使用rdlc报告。有没有一种方法可以在后台根据RDLC报告自动创建PDF?


阅读 159

收藏
2020-05-19

共1个答案

一尘不染

这很容易做到,您可以将报告呈现为PDF,并将结果字节数组另存为PDF文件到磁盘上。要在后台执行此操作,更多的是如何编写应用程序的问题。您可以只启动一个新线程,也可以使用BackgroundWorker(如果这是WinForms应用程序)等。当然,这里可能需要注意多线程问题。

Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;

byte[] bytes = reportViewer.LocalReport.Render(
    "PDF", null, out mimeType, out encoding, out filenameExtension,
    out streamids, out warnings);

using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
{
    fs.Write(bytes, 0, bytes.Length);
}
2020-05-19