iTextSharp正在使用Response生成损坏的PDF

我试过两个,但仍然没有工作

iTextSharp + FileStream =损坏的PDF文件

iTextSharp正在生成一个损坏的PDF

using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) { //abre o documento para poder editar document.Open(); //Adiciona os campos de assinatura document.Add(Assinatura()); //fecha o documento ao finalizar a edição document.Close(); //Prepara o download byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); Response.Clear(); Response.ContentType = "image/pdf"; //Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment; filename=ControleDePonto.pdf"); Response.Buffer = true; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.BinaryWrite(bytes); Response.End(); Response.Close(); } 

我做错了什么?

使用PdfWriter将PDF写入MemoryStream。

 PdfWriter writer = PdfWriter.GetInstance(document, memoryStream); document.Open(); //Adiciona os campos de assinatura document.Add(Assinatura()); //fecha o documento ao finalizar a edição document.Close(); //Prepara o download byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment;filename=ControleDePonto.pdf"); Response.Buffer = true; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.BinaryWrite(bytes); Response.End();