iTextSharp:创建PDF文件时显示“打开/保存”对话框

时间:2013-08-23 04:03:47

标签: c# pdf itextsharp save-as

我正在使用iTextSharp创建PDF文件(我使用C#)。文件创建正常;但是,它保存在一个文件夹中。创建该文件是为了响应链接按钮单击,我想显示打开/保存对话框,而不是将文件保存在文件夹中。 我使用以下内容:

using(MemoryStream ms = new MemoryStream())
{
    Document doc1 = new Document();
    PdfWriter pdfw = PdfWriter.GetInstance(doc1, ms);
    doc1.open();
    string sPath = Server.MapPath("PDF/");
    string sFileName = "Something.PDF";

    // create the PDF content

    doc1.Close();
    byte[] content = ms.ToArray();
    using (FileStream fs = FileStream.Create(sPath + sFileName))
    {
        fs.Write(content, 0, (int)content.Length);
    }
}

我这样做错了吗?它创建文件并将其保存在“blahblah / PDF”文件夹中,但不显示打开/保存对话框bx。

1 个答案:

答案 0 :(得分:1)

如果您已有该文件,请使用Response.TransmitFile方法在用户的浏览器中将其清除。

Response.Clear(); 
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=buylist.pdf");
Response.TransmitFile(Server.MapPath("~/myfile.pdf"));