示例#1
0
            /// <summary>
            /// Called when an AbsolutePositionTab node is encountered in the document.
            /// </summary>
            public override VisitorAction VisitAbsolutePositionTab(AbsolutePositionTab tab)
            {
                // We'll treat the AbsolutePositionTab as a regular tab in this case.
                mBuilder.Append("\t");

                return(VisitorAction.Continue);
            }
示例#2
0
        [Test] //ExSkip
        public void DocumentToTxt()
        {
            // This document contains two sentences separated by an absolute position tab.
            Document doc = new Document(MyDir + "AbsolutePositionTab.docx");

            // An AbsolutePositionTab is a child node of a paragraph.
            // AbsolutePositionTabs get picked up when looking for nodes of the SpecialChar type.
            Paragraph           para           = doc.FirstSection.Body.FirstParagraph;
            AbsolutePositionTab absPositionTab = (AbsolutePositionTab)para.GetChild(NodeType.SpecialChar, 0, true);

            // This implementation of the DocumentVisitor pattern converts the document to plain text.
            MyDocToTxtWriter myDocToTxtWriter = new MyDocToTxtWriter();

            // We can run the DocumentVisitor over the whole first paragraph.
            para.Accept(myDocToTxtWriter);

            // A tab character is placed where the AbsolutePositionTab was found.
            Assert.AreEqual("Before AbsolutePositionTab\tAfter AbsolutePositionTab", myDocToTxtWriter.GetText());

            // An AbsolutePositionTab can accept a DocumentVisitor by itself too.
            myDocToTxtWriter = new MyDocToTxtWriter();
            absPositionTab.Accept(myDocToTxtWriter);

            Assert.AreEqual("\t", myDocToTxtWriter.GetText());
        }
示例#3
0
        [Test] //ExSkip
        public void DocumentToTxt()
        {
            Document doc = new Document(MyDir + "Absolute position tab.docx");

            // Extract the text contents of our document by accepting this custom document visitor.
            DocTextExtractor myDocTextExtractor = new DocTextExtractor();

            doc.FirstSection.Body.Accept(myDocTextExtractor);

            // The absolute position tab, which has no equivalent in string form, has been explicitly converted to a tab character.
            Assert.AreEqual("Before AbsolutePositionTab\tAfter AbsolutePositionTab", myDocTextExtractor.GetText());

            // An AbsolutePositionTab can accept a DocumentVisitor by itself too.
            AbsolutePositionTab absPositionTab = (AbsolutePositionTab)doc.FirstSection.Body.FirstParagraph.GetChild(NodeType.SpecialChar, 0, true);

            myDocTextExtractor = new DocTextExtractor();
            absPositionTab.Accept(myDocTextExtractor);

            Assert.AreEqual("\t", myDocTextExtractor.GetText());
        }
示例#4
0
 /// <summary>
 /// Called when an AbsolutePositionTab is encountered in the document.
 /// </summary>
 public override VisitorAction VisitAbsolutePositionTab(AbsolutePositionTab tab)
 {
     this.mBuilder.Append("\t");
     return(VisitorAction.Continue);
 }
 /// <summary>
 /// Called when an AbsolutePositionTab is encountered in the document.
 /// </summary>
 public override VisitorAction VisitAbsolutePositionTab(AbsolutePositionTab tab)
 {
     this.mBuilder.Append("\t");
     return VisitorAction.Continue;
 }