【发布时间】:2014-07-30 09:27:50
【问题描述】:
两个都试了,还是不行
iTextSharp + FileStream = Corrupt PDF file
iTextSharp is producing a corrupt 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();
}
我做错了什么?
【问题讨论】:
-
application/pdf是正确的 MIME 类型。见this question。顺便结束 Response 之后就不用关闭了。 -
我也试过了,但没有成功
-
刚刚注意到,您永远不会将
document中的信息传递到您的内存流中。 -
没关系,我只是放置了“PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);”在错误的线路上
标签: c# itextsharp response memorystream