IText html2pdf

iTextSharp hỗ trợ các tệp css bên ngoài. Vì vậy, hãy sử dụng iTextSharp. Thêm dll mới nhất từ ​​nuget vào dự án của bạn và thêm kiểu css vào tệp css bên ngoài

Kiểm tra ví dụ này. Bây giờ hãy tham khảo và sửa mã của bạn

HTML


    
        
            
                Personal Details
            
        
        
            Name
            
                
        
        
            Age
            
                
        
        
            City
            
                
        
        
            Country
            
                
        
    

Bảng định kiểu. css

#tableDetails {
    font-family: Arial;
    font-size: 10pt;
    width: 200px;
}

.header {
    background-color: #18B5F0;
    height: 18px;
    color: White;
    border: 1px solid white;
    text-align: center;
}

không gian tên

c#

using System.Data;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
using iTextSharp.tool.xml.html;
using iTextSharp.tool.xml.parser;
using iTextSharp.tool.xml.pipeline.css;
using iTextSharp.tool.xml.pipeline.end;
using iTextSharp.tool.xml.pipeline.html;

VB. Bọc lưới

Imports System.Data
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml
Imports iTextSharp.tool.xml.html
Imports iTextSharp.tool.xml.parser
Imports iTextSharp.tool.xml.pipeline.css
Imports iTextSharp.tool.xml.pipeline.end
Imports iTextSharp.tool.xml.pipeline.html

Mã số

c#

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //Populate DataTable
        DataTable dt = new DataTable();
        dt.Columns.Add("Name");
        dt.Columns.Add("Age");
        dt.Columns.Add("City");
        dt.Columns.Add("Country");
        dt.Rows.Add();
        dt.Rows[0]["Name"] = "Mudassar Khan";
        dt.Rows[0]["Age"] = "27";
        dt.Rows[0]["City"] = "Mumbai";
        dt.Rows[0]["Country"] = "India";

        //Bind Datatable to Labels
        lblName.Text = dt.Rows[0]["Name"].ToString();
        lblAge.Text = dt.Rows[0]["Age"].ToString();
        lblCity.Text = dt.Rows[0]["City"].ToString();
        lblCountry.Text = dt.Rows[0]["Country"].ToString();
    }
}
protected void btnExport_Click(object sender, EventArgs e)
{
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    pnlPerson.RenderControl(hw);
    StringReader sr = new StringReader(sw.ToString());
    Document pdfDoc = new Document();
    PdfWriter PdfWriter = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
    htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
    ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
    cssResolver.AddCssFile(Server.MapPath("~/StyleSheet.css"), true);
    IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, PdfWriter)));
    var worker = new XMLWorker(pipeline, true);
    var xmlParse = new XMLParser(true, worker);
    pdfDoc.Open();
    xmlParse.Parse(sr);
    xmlParse.Flush();
    pdfDoc.Close();
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Write(pdfDoc);
    Response.End();
}

VB. Bọc lưới

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    If Not IsPostBack Then
        Dim dt As DataTable = New DataTable()
        dt.Columns.Add("Name")
        dt.Columns.Add("Age")
        dt.Columns.Add("City")
        dt.Columns.Add("Country")
        dt.Rows.Add()
        dt.Rows(0)("Name") = "Mudassar Khan"
        dt.Rows(0)("Age") = "27"
        dt.Rows(0)("City") = "Mumbai"
        dt.Rows(0)("Country") = "India"
        lblName.Text = dt.Rows(0)("Name").ToString()
        lblAge.Text = dt.Rows(0)("Age").ToString()
        lblCity.Text = dt.Rows(0)("City").ToString()
        lblCountry.Text = dt.Rows(0)("Country").ToString()
    End If
End Sub

Protected Sub btnExport_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim sw As StringWriter = New StringWriter()
    Dim hw As HtmlTextWriter = New HtmlTextWriter(sw)
    pnlPerson.RenderControl(hw)
    Dim sr As StringReader = New StringReader(sw.ToString())
    Dim pdfDoc As Document = New Document()
    Dim PdfWriter As PdfWriter = PdfWriter.GetInstance(pdfDoc, Response.OutputStream)
    Dim htmlContext As HtmlPipelineContext = New HtmlPipelineContext(Nothing)
    htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory())
    Dim cssResolver As ICSSResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(False)
    cssResolver.AddCssFile(Server.MapPath("~/StyleSheet.css"), True)
    Dim pipeline As IPipeline = New CssResolverPipeline(cssResolver, New HtmlPipeline(htmlContext, New PdfWriterPipeline(pdfDoc, PdfWriter)))
    Dim worker = New XMLWorker(pipeline, True)
    Dim xmlParse = New XMLParser(True, worker)
    pdfDoc.Open()
    xmlParse.Parse(sr)
    xmlParse.Flush()
    pdfDoc.Close()
    Response.ContentType = "application/pdf"
    Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf")
    Response.Cache.SetCacheability(HttpCacheability.NoCache)
    Response.Write(pdfDoc)
    Response.End()
End Sub

Ảnh chụp màn hình

Hình thức

IText html2pdf

Xuất PDF

IText html2pdf

Làm cách nào để chuyển đổi HTML sang PDF miễn phí?

Cách chuyển trang HTML thành tệp PDF. .
Trên máy tính Windows, hãy mở một trang web HTML trong Internet Explorer, Google Chrome hoặc Firefox. .
Nhấp vào nút "Chuyển đổi sang PDF" trên thanh công cụ Adobe PDF để bắt đầu chuyển đổi PDF
Nhập tên tệp và lưu tệp PDF mới của bạn vào vị trí mong muốn

iText Pdfhtml có miễn phí không?

Với bản dùng thử miễn phí 30 ngày của chúng tôi, bạn có thể kiểm tra thư viện PDF có thể lập trình iText và khám phá xem nó phù hợp với nhu cầu của bạn như thế nào.

Làm cách nào để chuyển đổi HTML sang PDF bằng Itextpdf?

Tạo tệp PDF từ HTML có thể được thực hiện bằng thư viện iText Java. iText có add-on cho phép chuyển tài liệu HTML sang PDF. .
convertToDocument(). trả về phiên bản Tài liệu
convertToElements(). trả về một danh sách các phiên bản iText IEument
chuyển đổi sang Pdf(). phương pháp này chuyển đổi HTML sang PDF

Làm cách nào để chuyển đổi HTML sang PDF bằng itext7 trong C#?

Cách sử dụng iText 7 trong C# .
Cài đặt thư viện iText 7 C#
Chuyển đổi HTML sang PDF sử dụng lớp HtmlConverter
Sử dụng lớp PDFReader để đọc và trích xuất nội dung PDF
Ký tài liệu trong C# với iText 7
Xuất tệp PDF đã hoàn thành