Как создать файл PDF со страницы .htm в asp.net с помощью C # - PullRequest
1 голос
/ 08 декабря 2010

У меня есть страница .htm, где дизайн находится на странице с CSS-файлами. и теперь я хочу создать эту страницу .htm в PDF документе. Так, как я могу сделать это, используя ASP.Net в C #.

1 Ответ

1 голос
/ 08 декабря 2010

Вы можете использовать itext sharp.

импортировать эти

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...