程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了itextsharp-CSS未得到应用-C#.NET大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决itextsharp-CSS未得到应用-C#.NET?

开发过程中遇到itextsharp-CSS未得到应用-C#.NET的问题如何解决?下面主要结合日常开发的经验,给出你关于itextsharp-CSS未得到应用-C#.NET的解决方法建议,希望对你解决itextsharp-CSS未得到应用-C#.NET有所启发或帮助;

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

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

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

    这是一个简单的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的支持已大大改善。

    解决方法

    iTextSharp用于将HTML页面转换为PDF。我正在使用这里提供的帮助程序类,并且还尝试了使用StyleSheet.LoadTagStyle()CSS。但是似乎没有任何作用。有什么见解吗?

    编辑

    我可以添加这样的样式-

    .mystyle
    {
       color: red;
       width: 400px;
    }
    

    使用以下代码-

    StyleSheet css = new StyleSheet();
    css.LoadStyle("mystyle","color","red");
    css.LoadStyle("mystyle","width","400px");
    

    但是,当我拥有复杂的样式时会发生什么?

    div .myclass
    {
        /*some styles*/
    }
    
    td a.hover
    {
        /*some styles*/
    }
    
    td .myclass2
    {
        /*some styles*/
    }    
    .myclass .myinnerclass
    {
        /*some styles*/
    }
    

    如何使用iTextSharp添加它?

    大佬总结

    以上是大佬教程为你收集整理的itextsharp-CSS未得到应用-C#.NET全部内容,希望文章能够帮你解决itextsharp-CSS未得到应用-C#.NET所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。