簡體   English   中英

單擊按鈕將aspx頁面打印為PDF,但在服務器端打印PDF

[英]Print aspx page to PDF on button click, but print PDF serverside

我有一個顯示在網頁上的報告,並且用戶已將該網頁打印為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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM