【问题标题】:Render a report to pdf将报告呈现为 pdf
【发布时间】:2017-04-20 14:06:20
【问题描述】:

我有一个将报告呈现为 pdf 格式的 c# 代码。

         Random rand = new Random();
         num = rand.Next(1111, 999999);
        Warning[] warnings;
        string[] streamids;
        string mimeType;
        string encoding;
        string extension;
        String deviceInf = "<DeviceInfo><PageHeight>8.27in</PageHeight><PageWidth>11.69in</PageWidth><MarginTop>0in</MarginTop><MarginBottom>0in</MarginBottom><MarginLeft>0in</MarginLeft><MarginRight>0in</MarginRight></DeviceInfo>";
        byte[] bytes = reportViewer1.LocalReport.Render
            (
           "PDF", deviceInf, out mimeType, out encoding,
            out extension,
           out streamids, out warnings);

        var folderPath = "D:\\ICard\\STAFFPDF\\";
        if (!Directory.Exists(folderPath))
        {
            Directory.CreateDirectory(folderPath);
        }

        FileStream fs = new FileStream(@"D:\ICard\STAFFPDF\" + num + ".pdf", FileMode.Create);
        fs.Write(bytes, 0, bytes.Length);
        this.reportViewer1.Refresh();
        fs.Close();

我想要做的是以镜像形式保存 pdf,因为 pdf 需要打印为镜像,有什么方法可以实现吗?

【问题讨论】:

    标签: c# pdf rdlc


    【解决方案1】:

    试试这段代码。来源是here

     private string ExportReport()
                {
                    Warning[] warnings;
                    string[] streamids;
                    string mimeType;
                    string encoding;
                    string filenameExtension;
    
    
                ReportParameterInfoCollection pInfo = reportViewer1.ServerReport.GetParameters();
                string filenameParams = "";
    
    
                byte[] bytes;
                if (reportViewer1.ProcessingMode == ProcessingMode.Local)
                {
                   bytes = reportViewer1.LocalReport.Render("PDF", null, out mimeType,
                    out encoding, out filenameExtension, out streamids, out warnings);
                }
                else
                {
                   bytes = reportViewer1.ServerReport.Render("PDF", null, out mimeType,
                    out encoding, out filenameExtension, out streamids, out warnings);
                }
    
    
                string filename = Path.Combine(Path.GetTempPath(), filenameParams + ".pdf");
                using (FileStream fs = new FileStream(filename, FileMode.Create))
                { fs.Write(bytes, 0, bytes.Length); }
    
    
                return filename;
            }
    

    【讨论】:

    • 我需要以镜像格式打印 pdf,这看起来只是为了将报告呈现为 pdf,我已经能够做到这一点。
    • forums.asp.net/t/… 请参阅此链接。它说明了清楚的解释。
    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多