私はasp.netアプリにハンドラーを持っています。なんらかのリクエストがあった場合、ユーザーにダウンロードウィンドウを表示してもらい、そこにPDFストリームを置きます。PDFをメモリに保存したくありません。私は次のコードを持っていますが、開くことができません.pdfファイルが破損していて開けませんでした。私の目標が良くないと思うなら、私の目標を達成するための別の方法を教えてください。
MemoryStream stream = new MemoryStream();
CreatePFD(T.Text, stream);
context.Response.Write(stream);
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("content-disposition", "attachment; filename=" + "Nots__Saved__FIle__fileName.pdf");
今、私はこのコードを持っています:
Document Doc = new Document(PageSize.A4, 80, 50, 30, 65); System.IO.Stream outputStream = new System.IO.FileStream(@"C:\inetpub\wwwroot\c\wefwe.pdf", System.IO.FileMode.OpenOrCreate);
PdfWriter.GetInstance(Doc, outputStream);
Doc.Open();
List<IElement> htmlarraylist = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StringReader(T.Text), null);
for (int k = 0; k < htmlarraylist.Count; k++)
{
Doc.Add((IElement)htmlarraylist[k]);
}
outputStream.CopyTo(context.Response.OutputStream);
Doc.Close();
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("content-disposition", "attachment; filename=" + "Nots__Saved__FIle__fileName.pdf");
PDFを保存すると、ファイルは正しいです...しかし、応答を受け取ると、ファイルは正しいです。破壊された...