导出的pdf无法读取

时间:2013-10-17 11:43:27

标签: c# pdf reporting-services mime-types rdlc

在我的应用程序中使用了以下用于将rdlc导出为pdf的渲染方法。但是在导出之后 - 无法打开保存的“Output.pdf”文件,说“无法打开Output.pdf。它不支持文件或文件已损坏“。默认情况下,在adobe reader中打开保存的文件。

                Warning[] warnings;
                string[] streamIds;
                string mimeType = "application/pdf";
                string encoding=String.Empty;
                string filenameExtension=String.Empty;
                string deviceInfo ="<DeviceInfo>"+"<OutputFormat>PDF</OutputFormat>"+"  <PageWidth>8.5in</PageWidth>"+"<PageHeight>11in</PageHeight>"+"<MarginTop>0.5in</MarginTop>" +"<MarginLeft>1in</MarginLeft>"+"<MarginRight>1in</MarginRight>"+"<MarginBottom>0.5in</MarginBottom>"+"</DeviceInfo>";
                DataSet myDataSet = new DataSet();

 byte[] bytes = viewer.Render("PDF", deviceInfo, out mimeType, out encoding, out filenameExtension, out streamIds, out warnings);
                        using (System.IO.FileStream fs = new System.IO.FileStream("output.pdf", System.IO.FileMode.Create))
                        {
                            fs.Write(bytes, 0, bytes.Length);
                        }

                        FileStream fsi = new FileStream(@"D:\output.pdf", FileMode.Create);

为什么文件无法打开? render()方法参数有什么变化吗?

1 个答案:

答案 0 :(得分:0)

这里的问题是与 FileStream fsi = new FileStream(@"D:\output.pdf", FileMode.Create); 它只是在D:\中创建一个名为ouput.pdf的文件,其中没有数据。所以,acrobat读者说文件已经被破坏了!