PDFSharp 通过文件流下载文件
PDFSharp download file thru filestream
我是这个库的新手,但我找不到任何关于使用这个库下载到文件流的信息,我只能找到一个 document.Save(filepath) 选项,这并不总是允许的。
我想创建一个文件流,以便将文件下载到定向的下载文件夹。
有人能直接指出我正确的方向吗?
有一个 Save
重载,它采用 MemoryStream
对象而不是文件路径。
PDFSharp 网站有一个 example 展示了如何执行此操作:
private void Page_Load(object sender, System.EventArgs e)
{
// Create new PDF document
PdfDocument document = new PdfDocument();
this.time = document.Info.CreationDate;
document.Info.Title = "PDFsharp Clock Demo";
document.Info.Author = "Stefan Lange";
document.Info.Subject = "Server time: " +
this.time.ToString("F", CultureInfo.InvariantCulture);
// Create new page
PdfPage page = document.AddPage();
page.Width = XUnit.FromMillimeter(200);
page.Height = XUnit.FromMillimeter(200);
// Create graphics object and draw clock
XGraphics gfx = XGraphics.FromPdfPage(page);
RenderClock(gfx);
// Send PDF to browser
MemoryStream stream = new MemoryStream();
document.Save(stream, false);
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", stream.Length.ToString());
Response.BinaryWrite(stream.ToArray());
Response.Flush();
stream.Close();
Response.End();
}
我是这个库的新手,但我找不到任何关于使用这个库下载到文件流的信息,我只能找到一个 document.Save(filepath) 选项,这并不总是允许的。 我想创建一个文件流,以便将文件下载到定向的下载文件夹。
有人能直接指出我正确的方向吗?
有一个 Save
重载,它采用 MemoryStream
对象而不是文件路径。
PDFSharp 网站有一个 example 展示了如何执行此操作:
private void Page_Load(object sender, System.EventArgs e)
{
// Create new PDF document
PdfDocument document = new PdfDocument();
this.time = document.Info.CreationDate;
document.Info.Title = "PDFsharp Clock Demo";
document.Info.Author = "Stefan Lange";
document.Info.Subject = "Server time: " +
this.time.ToString("F", CultureInfo.InvariantCulture);
// Create new page
PdfPage page = document.AddPage();
page.Width = XUnit.FromMillimeter(200);
page.Height = XUnit.FromMillimeter(200);
// Create graphics object and draw clock
XGraphics gfx = XGraphics.FromPdfPage(page);
RenderClock(gfx);
// Send PDF to browser
MemoryStream stream = new MemoryStream();
document.Save(stream, false);
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", stream.Length.ToString());
Response.BinaryWrite(stream.ToArray());
Response.Flush();
stream.Close();
Response.End();
}