> 백엔드 개발 > C++ > iTextSharp를 사용하여 HTML을 PDF로 변환하는 방법: HTMLWorker와 XMLWorker?

iTextSharp를 사용하여 HTML을 PDF로 변환하는 방법: HTMLWorker와 XMLWorker?

Linda Hamilton
풀어 주다: 2025-01-27 03:11:12
원래의
139명이 탐색했습니다.

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

iTextSharp: HTML을 PDF로 효율적으로 변환

iTextSharp를 사용하여 HTML 문서를 PDF 형식으로 변환하려면 구조화된 접근 방식이 필요합니다. HTML과 PDF는 서로 다른 형식이므로 변환 과정에서 주의 깊게 처리해야 한다는 점을 기억하는 것이 중요합니다.

iTextSharp의 HTML 처리 이해

iTextSharp에는 HTML 및 CSS를 구문 분석하는 기능이 있지만 ASP.NET, MVC 또는 Razor와 같은 프레임워크에 대한 지원은 부족합니다. 선택한 프레임워크에서 HTML 콘텐츠를 추출하는 것은 귀하의 책임입니다. iTextSharp는 이 기능을 제공하지 않습니다.

파서 선택: HTMLWorker와 XMLWorker

iTextSharp는 HTML 태그 구문 분석을 위해 HTMLWorker와 XMLWorker라는 두 가지 옵션을 제공합니다. 이전에는 HTMLWorker가 사용되었지만 이제는 XMLWorker가 권장되는 파서입니다. XMLWorker는 향상된 확장성과 뛰어난 CSS 지원을 자랑합니다.

코드 예: HTMLWorker 및 XMLWorker를 사용한 HTML 태그 구문 분석

다음 C# 코드 조각은 두 가지 방법을 모두 사용하여 HTML 태그를 구문 분석하는 방법을 보여줍니다.

<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>
로그인 후 복사

CSS 지원을 위해 XMLWorker 활용

XMLWorker를 사용하면 CSS 스타일시트를 원활하게 통합할 수 있습니다. 다음 예는 이를 보여줍니다.

<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>
로그인 후 복사

중요 사항: iTextSharp의 HTML 및 CSS 기능 지원은 완전하지 않습니다. 지원되는 기능 및 제한 사항에 대한 포괄적인 세부 정보는 공식 iTextSharp 설명서를 참조하세요.

위 내용은 iTextSharp를 사용하여 HTML을 PDF로 변환하는 방법: HTMLWorker와 XMLWorker?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿