在C#.Net中将转发器数据导出为pdf

时间:2013-07-09 11:17:43

标签: c# pdf itextsharp repeater

任何人都可以帮我解决如何使用iTextSharp将 Repeater 数据导出到而不是的PDF文件。 我正在使用iTextSharp从 Repeater 控件生成PDF文件,它可以正常工作但是有没有关于如何将转发器数据导出到PDF文档的其他建议?

1 个答案:

答案 0 :(得分:0)

使用以下代码。希望它能解决您的问题。

using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
using System.Text;

protected void BtnExportToPdf_Click(object sender, EventArgs e)
    {
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;filename=FileName.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        Repeater1.DataBind(); 
        Repeater1.RenderControl(hw);
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A4, 10f,10f,10f,0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();
        htmlparser.Parse(sr);
        pdfDoc.Close();
        Response.Write(pdfDoc);
        Response.End();  
    }