> itextsharp:有效地将HTML转换为PDF
>>使用ItextSharp将HTML文档转换为PDF格式需要结构化方法。 要记住,HTML和PDF是不同的格式,需要在转换过程中进行仔细处理。
了解ItextSharp的HTML处理>
> ItextSharp具有解析HTML和CSS的能力,但缺乏对ASP.NET,MVC或Razor等框架的支持。 您有责任从所选框架中提取HTML内容; itextSharp不提供此功能。
>解析器选择:htmlworker vs. xmlworker >
> itextSharp提供了两个用于HTML标签解析的选项:HTMLWorker和XMLWorker。 虽然先前使用了HTMLWorker,但XMLWorker现在是推荐的解析器。 XMLWorker具有增强的可扩展性和优越的CSS支持。 >代码示例:HTML标签与HTMLWorker和XMLWorker进行解析 以下C#代码片段说明了如何使用这两种方法来解析HTML标签:
// 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); }
> XMLWorker允许CSS样式表的无缝集成。 以下示例说明了这一点:
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); }
以上是如何使用 iTextSharp 将 HTML 转换为 PDF:HTMLWorker 与 XMLWorker?的详细内容。更多信息请关注PHP中文网其他相关文章!