簡體   English   中英

如何將 ASP.Net 網頁導出為 PDF

[英]How to Export ASP.Net Web Page to PDF

如何將 ASP.Net 網頁導出為 PDF? 我想將當前的 ASP.Net 網頁導出為 PDF。

我認為您應該使用“ itextSharp”。 你可以通過這個鏈接
http://www.codeproject.com/Articles/81118/ITextSharp-Helper-Class
您可以從這里下載(.dll)
http://sourceforge.net/projects/itextsharp/

您可以將頁面加載到瀏覽器中,然后使用類似CutePDF的免費工具將其打印為PDF。

此工具添加了一個打印機,使您可以將文檔/網頁另存為PDF。

http://www.cutepdf.com/

由於asp.net網頁在HTMl中呈現,因此您可以使用ITextSharp將HTML頁面轉換為PDF

這是將HTML轉換為PDF的代碼

protected override void Render(HtmlTextWriter writer)
    {
        MemoryStream mem = new MemoryStream();
        StreamWriter twr = new StreamWriter(mem);
        HtmlTextWriter myWriter = new HtmlTextWriter(twr);
        base.Render(myWriter);
        myWriter.Flush();
        myWriter.Dispose();
        StreamReader strmRdr = new StreamReader(mem);
        strmRdr.BaseStream.Position = 0;
        string pageContent = strmRdr.ReadToEnd();
        strmRdr.Dispose();
        mem.Dispose();
        writer.Write(pageContent);
        CreatePDFDocument(pageContent);
    }
    public  void CreatePDFDocument(string strHtml)
    {

        string strFileName = HttpContext.Current.Server.MapPath("test.pdf");
        // step 1: creation of a document-object
        Document document = new Document();
        // step 2:
        // we create a writer that listens to the document
        PdfWriter.GetInstance(document, new FileStream(strFileName, FileMode.Create));
        StringReader se = new StringReader(strHtml);
        HTMLWorker obj = new HTMLWorker(document);
        document.Open();
        obj.Parse(se);
        document.Close();
        ShowPdf(strFileName);

    }
    public void ShowPdf(string strFileName)
    {
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("Content-Disposition", "inline;filename=" + strFileName);
        Response.ContentType = "application/pdf";
        Response.WriteFile(strFileName);
        Response.Flush();
        Response.Clear();
    }

暫無
暫無

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

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