输出PDF文档到ASP.NET页面

项目中的WORD报表文档最终会被转换为PDF文档,输出到WEB页面中,下面的代码是读取PDF文件并写入到页面输出流中:

protected void Page_Load(object sender, EventArgs e)
    
{
        
try
        
{
            
//query the pdf path
            string pdfna = this.Request.QueryString["pdf"];
            
if (pdfna == null)
                
throw new Exception("This page can not be accessed directly");
            
string pdf = "Reports\\" + pdfna;
            pdf 
= Server.MapPath(pdf);

            
//read all bytes
            if (File.Exists(pdf) == false)
                
throw new Exception("This report is not created");
            FileStream fs 
= File.Open(pdf, FileMode.Open);
            
byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 
0, buffer.Length);
            fs.Close();

            
//write to response
            Response.ContentType = "application/pdf";
            Response.AddHeader(
"content-disposition""filename=" + pdfna);
            Response.AddHeader(
"content-length", buffer.Length.ToString());
            Response.BinaryWrite(buffer);
        }

        
catch (Exception ex)
        
{
            Response.Write(ex.Message);
        }

        
finally
        
{
            Response.Flush();
            Response.Close();
            Response.End();
        }

    }
原文地址:https://www.cnblogs.com/swnuwangyun/p/841786.html