/// <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); }
[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()); }
[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()); }
/// <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; }