Add() public method

public Add ( IElement e ) : void
e IElement
return void
Ejemplo n.º 1
0
 /*
  * (non-Javadoc)
  *
  * @see com.itextpdf.tool.xml.pipeline.IPipeline#content(com.itextpdf.tool
  * .xml.Tag, java.lang.String, com.itextpdf.tool.xml.pipeline.ProcessObject)
  */
 public override IPipeline Content(IWorkerContext context, Tag t, string text, ProcessObject po) {
     HtmlPipelineContext hcc = (HtmlPipelineContext)GetLocalContext(context);
     ITagProcessor tp;
     try {
         tp = hcc.ResolveProcessor(t.Name, t.NameSpace);
         //String ctn = null;
         //if (null != hcc.CharSet()) {
         //    ctn = hcc.CharSet().GetString(b);
         //} else {
         //    ctn = Encoding.Default.GetString(b);
         //}
         IList<IElement> elems = tp.Content(context, t, text);
         if (elems.Count > 0) {
             StackKeeper peek;
             try {
                 peek = hcc.Peek();
                 foreach (IElement e in elems) {
                     peek.Add(e);
                 }
             } catch (NoStackException) {
                 WritableElement writableElement = new WritableElement();
                 foreach (IElement elem in elems) {
                     writableElement.Add(elem);
                 }
                 po.Add(writableElement);
             }
         }
     } catch (NoTagProcessorException e) {
         if (!hcc.AcceptUnknown()) {
             throw e;
         }
     }
     return GetNext();
 }
Ejemplo n.º 2
0
 /*
  * (non-Javadoc)
  *
  * @see
  * com.itextpdf.tool.xml.pipeline.IPipeline#open(com.itextpdf.tool.
  * xml.Tag, com.itextpdf.tool.xml.pipeline.ProcessObject)
  */
 public override IPipeline Open(IWorkerContext context, Tag t, ProcessObject po) {
     HtmlPipelineContext hcc = (HtmlPipelineContext)GetLocalContext(context);
     try {
         Object lastMarginBottom = null;
         if (hcc.GetMemory().TryGetValue(HtmlPipelineContext.LAST_MARGIN_BOTTOM, out lastMarginBottom)) {
             t.LastMarginBottom = lastMarginBottom;
             hcc.GetMemory().Remove(HtmlPipelineContext.LAST_MARGIN_BOTTOM);
         }
         ITagProcessor tp = hcc.ResolveProcessor(t.Name, t.NameSpace);
         AddStackKeeper(t, hcc, tp);
         IList<IElement> content = tp.StartElement(context, t);
         if (content.Count > 0) {
             if (tp.IsStackOwner()) {
                 StackKeeper peek = hcc.Peek();
                 if (peek == null)
                     throw new PipelineException(String.Format(LocaleMessages.STACK_404, t.ToString()));
                 foreach (IElement elem in content) {
                     peek.Add(elem);
                 }
             } else {
                 foreach (IElement elem in content) {
                     hcc.CurrentContent().Add(elem);
                     if (elem.Type == Element.BODY)
                     {
                         WritableElement writableElement = new WritableElement();
                         writableElement.Add(elem);
                         po.Add(writableElement);
                         hcc.CurrentContent().Remove(elem);
                     }
                 }
             }
         }
     } catch (NoTagProcessorException e) {
         if (!hcc.AcceptUnknown()) {
             throw e;
         }
     }
     return GetNext();
 }