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



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

iTextSharp似乎不允许我只保存PDF与您打印为PDF(保留css等)时的外观完全相同,也有一些许可复杂性。PrinceXML看起来不错,但太贵了。

有没有办法打开一个新的aspx页面,然后将其打印到PDF服务器端?

您可以使用内置的 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();

最新更新