我正在尝试将源文件的副本直接保存到响应输出流中。但是,由于此代码,浏览器窗口背景较暗。如果不使用MemoryStream,我怎么能这样做?
public static void CreateCollage(IEnumerable<Stamp> stamps, Stream input)
{
using (PdfDocument outDoc = new PdfDocument())
using (PdfDocument inputDoc = PdfReader.Open(input, PdfDocumentOpenMode.Import))
{
for (int i = 0; i < inputDoc.PageCount; i++)
{
var page = inputDoc.Pages[i];
var pageOut = outDoc.AddPage(page);
foreach (var stamp in stamps.Where(s => s.xyp.page == (i + 1)))
InsertData(pageOut, stamp, page.Width.Value, page.Height.Value);
}
outDoc.Save(context.Response.OutputStream, true);
}
}
如果我使用Save()函数 - 我收到错误:
System.Web.HttpResponseStream.get_Position()中的不支持指定的方法。
在PdfSharp.Pdf.IO.PdfWriter.WriteFileHeader(PdfDocument文档)中 在d:\ Users \ yudina \ Desktop \ pdfsharp \ PDFsharp \ src \ PdfSharp \ Pdf.IO \ PdfWriter.cs:row 488
答案 0 :(得分:1)
您不会致电outDoc.Close()
,也不会将任何内容写入您的OutputStream
。