2013-04-19 7 views
5

OK文字列のHTMLをPDFCEllに解析しています。外部CSSを使用してXMLを解析する

ここからの助けに感謝します。

ここで私はそれをやっています。

は、どのように私はクラスのではなくSTYLEを使用することができますので、私は、外部CSSファイルを使用しない=「」

public class XhtmlToListHelper : IElementHandler 
{ 
// Generic list of elements 
public List<IElement> elements = new List<IElement>(); 
// Add the item to the list 
public void Add(IWritable w) 
{ 
    if (w is WritableElement) 
    { 
    elements.AddRange(((WritableElement)w).Elements()); 
    } 
} 

    string html = "<ul class=\"list\"><li>html 1</li><li>html 2</li><li>html 3</li></ul>"; 
    using (TextReader sr = new StringReader(html)) 
    { 
     XMLWorkerHelper.GetInstance().ParseXHtml(XhtmlHelper, sr); 
    } 
    foreach (var element in XhtmlHelper.elements) 
    { 
     if (element.IsContent()) 
     { 
      PDFCell.AddElement(element); 
     } 
    } 

は今、私はここまでだが、どのようにそれをすべてTYEするかが私を回避してきました。どんな助けも大いにあふれているでしょう。

HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); 
    htmlContext.SetTagFactory(iTextSharp.tool.xml.html.Tags.GetHtmlTagProcessorFactory()); 
    ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false); 
    cssResolver.AddCssFile(HttpContext.Current.Server.MapPath("~/Templates/css/core.css"), true); 

答えて

7

source hereを突き刺して実装する方法がわかるはずです。基本的には、usingブロックのサイズと複雑さに四倍あなたの3つのライン:

var XhtmlHelper = new XhtmlToListHelper(); 
var htmlContext = new HtmlPipelineContext(null); 
htmlContext.SetTagFactory(iTextSharp.tool.xml.html.Tags.GetHtmlTagProcessorFactory()); 
var cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false); 
cssResolver.AddCssFile(@"c:\test.css", true); 
var pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new ElementHandlerPipeline(XhtmlHelper, null)));//Here's where we add our IElementHandler 
var worker = new XMLWorker(pipeline, true); 
var parser = new XMLParser(); 
parser.AddListener(worker); 

using (TextReader sr = new StringReader(html)) { 
    parser.Parse(sr); 
} 
+0

は病気に再びあなたの助けに感謝、行くことを与えます。 :} –

+1

もう一度ありがとう。夢のように働きました...良いキットの一片。 –

+0

このコードを使用してテーブルヘッダーを繰り返す方法 –

関連する問題