Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menukar HTML kepada PDF Menggunakan iTextSharp: HTMLWorker vs. XMLWorker?

Bagaimana untuk Menukar HTML kepada PDF Menggunakan iTextSharp: HTMLWorker vs. XMLWorker?

Linda Hamilton
Lepaskan: 2025-01-27 03:11:12
asal
139 orang telah melayarinya

How to Convert HTML to PDF Using iTextSharp: HTMLWorker vs. XMLWorker?

iTextSharp: Penukaran HTML kepada PDF dengan Cekap

Menukar dokumen HTML kepada format PDF menggunakan iTextSharp memerlukan pendekatan berstruktur. Adalah penting untuk diingat bahawa HTML dan PDF ialah format yang berbeza, memerlukan pengendalian yang teliti semasa proses penukaran.

Memahami Pengendalian HTML iTextSharp

iTextSharp mempunyai keupayaan untuk menghuraikan HTML dan CSS, tetapi ia tidak mempunyai sokongan untuk rangka kerja seperti ASP.NET, MVC atau Razor. Anda bertanggungjawab untuk mengekstrak kandungan HTML daripada rangka kerja pilihan anda; iTextSharp tidak menawarkan fungsi ini.

Pemilihan Penghurai: HTMLWorker lwn. XMLWorker

iTextSharp menyediakan dua pilihan untuk penghuraian teg HTML: HTMLWorker dan XMLWorker. Walaupun HTMLWorker digunakan sebelum ini, XMLWorker kini merupakan penghurai yang disyorkan. XMLWorker menawarkan kebolehlanjutan yang dipertingkatkan dan sokongan CSS yang unggul.

Contoh Kod: Penghuraian Tag HTML dengan HTMLWorker dan XMLWorker

Coretan kod C# berikut menggambarkan cara menghuraikan teg HTML menggunakan kedua-dua kaedah:

<code class="language-csharp">// Example HTML
string html = "...";

// Parsing with HTMLWorker (CSS ignored)
using (var htmlWorker = new iTextSharp.text.html.simpleparser.HTMLWorker(doc))
{
    using (var sr = new StringReader(html))
    {
        htmlWorker.Parse(sr);
    }
}

// Parsing with XMLWorker (CSS supported)
using (var srHtml = new StringReader(html))
{
    iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, srHtml);
}</code>
Salin selepas log masuk

Memanfaatkan XMLWorker untuk Sokongan CSS

XMLWorker membenarkan penyepaduan lancar lembaran gaya CSS. Contoh berikut menunjukkan ini:

<code class="language-csharp">string css = "...";

// Convert CSS and HTML strings to memory streams
using (var msCss = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(css)))
using (var msHtml = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(html)))
{
    iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHtml, msCss);
}</code>
Salin selepas log masuk

Nota Penting: Sokongan iTextSharp untuk ciri HTML dan CSS tidak menyeluruh. Rujuk dokumentasi rasmi iTextSharp untuk mendapatkan butiran komprehensif tentang ciri dan pengehadan yang disokong.

Atas ialah kandungan terperinci Bagaimana untuk Menukar HTML kepada PDF Menggunakan iTextSharp: HTMLWorker vs. XMLWorker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan