栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

itextsharp-CSS未得到应用-C#.NET

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

itextsharp-CSS未得到应用-C#.NET

使用StyleSheet.LoadTagStyle()使您处在正确的轨道上。

基本上,这是一个四步过程:

  1. 以字符串形式获取HTML
  2. 实例化一个StyleSheet对象,然后为所需的每种样式调用 StyleSheet.LoadTagStyle()
  3. 调用HTMLWorker.ParseToList()
  4. 将上述调用返回的IElement添加到document对象。

这是一个简单的HTTP处理程序:

<%@ WebHandler Language='C#' Class='styles' %>using System;using System.Collections.Generic;using System.IO;using System.Text;using System.Web;using iTextSharp.text.html;using iTextSharp.text.html.simpleparser;using iTextSharp.text;  using iTextSharp.text.pdf;public class styles : IHttpHandler {  public void ProcessRequest (HttpContext context) {    HttpResponse Response = context.Response;    Response.ContentType = "application/pdf";    string Html = @"<h1>h1</h1><p>A paragraph</p>    <ul> <li>one</li>   <li>two</li>   <li>three</li>   </ul>";    StyleSheet styles = new StyleSheet();    styles.LoadTagStyle(HtmlTags.H1, HtmlTags.FONTSIZE, "16");    styles.LoadTagStyle(HtmlTags.P, HtmlTags.FONTSIZE, "10");    styles.LoadTagStyle(HtmlTags.P, HtmlTags.COLOR, "#ff0000");    styles.LoadTagStyle(HtmlTags.UL, HtmlTags.INDENT, "10");    styles.LoadTagStyle(HtmlTags.LI, HtmlTags.LEADING, "16");    using (document document = new document()) {      PdfWriter.GetInstance(document, Response.OutputStream);      document.Open();      List<IElement> objects = HTMLWorker.ParseToList(        new StringReader(Html), styles      );      foreach (IElement element in objects) {        document.Add(element);      }    } }  public bool IsReusable {      get { return false; }  }}

您需要版本5.0.6才能运行上面的代码。对解析HTML的支持已大大改善。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号