单击按钮将aspx页面打印为PDF,但打印PDF服务器端

时间:2018-01-30 02:44:48

标签: c# asp.net pdf

我的报告显示在网页上,用户已将此网页打印为PDF。我需要的是当用户点击按钮时网页自动打印到PDF(保存)到网站服务器上的某个位置。

iTextSharp似乎并没有让我只是在打印到PDF(保持css等)时完全保存PDF的样子,还有一些许可并发症。 PrinceXML看起来不错,但太贵了。

是否无法打开新的aspx页面然后将其打印到PDF服务器端?

1 个答案:

答案 0 :(得分:0)

您可以使用内置的RLDC报告。它是免费的,具有不错的设计和功能,并允许您打印到PDF。您不需要保存PDF文件并担心管理和删除它,只需将其打印到流中并使用该流进行下载。

这样的事情:

Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;

byte[] bytes = reportViewer.LocalReport.Render("PDF", null, out mimeType, out encoding,
               out extension, out streamids, out warnings);

然后将bytes写入下载流。

Response.Buffer = true;
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition", "attachment; filename= filename" + "." + extension);
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.Flush();
Response.End();