2011-11-14 17 views

回答

2

有許多第三方PDF創建工具。我們已經在我的工作,效果很好使用的一個是PdfSharp

至於輸出的用戶控件的文本,這是你需要做的:

 Page page = new Page(); 
     HtmlForm form = new HtmlForm(); 
     [USERCONTROL] uc = (ReportHeaderInfoUC)page.LoadControl("~/UserControls/[NAME OF YOUR USER CONTROL].ascx"); 
     page.Controls.Add(form); 
     form.Controls.Add(uc); 
     //call the function on the user control that populates the control and pass in any data needed (if any) 
     uc.Populate(data); 
     StringWriter stringWriter = new StringWriter(); 
     this.Server.Execute(page, stringWriter, false); 

什麼你基本上這裏做的是創造一個新的WebForm,將用戶控件添加到它並讓服務器將輸出呈現給流,這基本上是ASP.NET爲常規頁面請求所做的。

要寫入的輸出用戶控制的內容到一個文件中使用:

File.WriteAllText([FILE PATH],stringWriter.ToString());

+0

+1 for PdfSharp。偉大的工具! –

+0

如何將內容呈現爲HTML文件並將其保存在服務器上而不是PDF中? –

+0

添加了要回答的代碼。 –

0

只要用戶控制是基於純文本,它不應該是難以輸出與任何PDF創建庫在那裏(搜索generating pdf,或pdf creation)的PDF文件。如果你的用戶控件有更復雜的HTML標籤,那麼你基本上需要購買一個Html 2 Pdf庫。我一直無法找到一個可接受的免費圖書館,支持HTML到PDF格式。

你也可以使用PDF來建立表格,但如果沒有購買圖書館來按照我的經驗進行操作,一般很難從html表格轉換到pdf表格。你也可以編寫與usercontrol分開的PDF表格的構建,但是很難將該功能組合到它中。

相關問題