1
我有一個.htm頁面,其中的設計是在頁面中用css文件。現在我想創建這個PDF文檔的.htm頁面。 那麼我怎麼能做到這一點在C#中使用ASP.Net。如何使用C#在asp.net中的.htm頁面創建PDF文件
感謝, 瓦拉Prasad.M
我有一個.htm頁面,其中的設計是在頁面中用css文件。現在我想創建這個PDF文檔的.htm頁面。 那麼我怎麼能做到這一點在C#中使用ASP.Net。如何使用C#在asp.net中的.htm頁面創建PDF文件
感謝, 瓦拉Prasad.M
可以使用iText的鋒利。
進口這些
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using iTextSharp.text;
接下來是添加此方法
public void ConvertHtmlStringToPDF()
{
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
///This is the panel from the webform
pnlPDF.RenderControl(hw);
string htmlDisplayText = sb.ToString();
Document document = new Document();
MemoryStream ms = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, ms);
StringReader se = new StringReader(htmlDisplayText);
HTMLWorker obj = new HTMLWorker(document);
document.Open();
obj.Parse(se);
// step 5: we close the document
document.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=report.pdf");
Response.ContentType = "application/pdf";
Response.Buffer = true;
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();
Response.End();
}
然後在你的網頁表單,你需要有一個包含了HTML的面板。這樣做的目的是讓你能夠在服務器端調用它。
<asp:Panel ID="pnlPDF" runat="server">
<div>
html contents
</div>
</asp:Panel>
那麼我怎樣才能使用iTextSharp的HTML頁面呢? – 2010-12-09 06:10:22