public void PlainText() { //ExStart //ExFor:StructuredDocumentTag.Color //ExFor:StructuredDocumentTag.ContentsFont //ExFor:StructuredDocumentTag.EndCharacterFont //ExFor:StructuredDocumentTag.Id //ExFor:StructuredDocumentTag.Level //ExFor:StructuredDocumentTag.Multiline //ExFor:StructuredDocumentTag.Tag //ExFor:StructuredDocumentTag.Title //ExFor:StructuredDocumentTag.RemoveSelfOnly //ExSummary:Shows how to create a StructuredDocumentTag in the form of a plain text box and modify its appearance. // Create a new document Document doc = new Document(); // Create a StructuredDocumentTag that will contain plain text StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Inline); // Set the title and color of the frame that appears when you mouse over it tag.Title = "My plain text"; tag.Color = Color.Magenta; // Set a programmatic tag for this StructuredDocumentTag // Unlike the title, this value will not be visible in the document but will be programmatically obtainable // as an XML element named "tag", with the string below in its "@val" attribute tag.Tag = "MyPlainTextSDT"; // Every StructuredDocumentTag gets a random unique ID Assert.That(tag.Id, Is.Positive); // Set the font for the text inside the StructuredDocumentTag tag.ContentsFont.Name = "Arial"; // Set the font for the text at the end of the StructuredDocumentTag // Any text that's typed in the document body after moving out of the tag with arrow keys will keep this font tag.EndCharacterFont.Name = "Arial Black"; // By default, this is false and pressing enter while inside a StructuredDocumentTag does nothing // When set to true, our StructuredDocumentTag can have multiple lines tag.Multiline = true; // Insert the StructuredDocumentTag into the document with a DocumentBuilder and save the document to a file DocumentBuilder builder = new DocumentBuilder(doc); builder.InsertNode(tag); // Insert a clone of our StructuredDocumentTag in a new paragraph StructuredDocumentTag tagClone = (StructuredDocumentTag)tag.Clone(true); builder.InsertParagraph(); builder.InsertNode(tagClone); // We can remove the tag while keeping its contents where they were in the Paragraph by calling RemoveSelfOnly() tagClone.RemoveSelfOnly(); doc.Save(ArtifactsDir + "SDT.PlainText.docx"); //ExEnd }
public void PlainText() { //ExStart //ExFor:StructuredDocumentTag.Color //ExFor:StructuredDocumentTag.ContentsFont //ExFor:StructuredDocumentTag.EndCharacterFont //ExFor:StructuredDocumentTag.Id //ExFor:StructuredDocumentTag.Level //ExFor:StructuredDocumentTag.Multiline //ExFor:StructuredDocumentTag.Tag //ExFor:StructuredDocumentTag.Title //ExFor:StructuredDocumentTag.RemoveSelfOnly //ExSummary:Shows how to create a structured document tag in a plain text box and modify its appearance. Document doc = new Document(); // Create a structured document tag that will contain plain text. StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Inline); // Set the title and color of the frame that appears when you mouse over the structured document tag in Microsoft Word. tag.Title = "My plain text"; tag.Color = Color.Magenta; // Set a tag for this structured document tag, which is obtainable // as an XML element named "tag", with the string below in its "@val" attribute. tag.Tag = "MyPlainTextSDT"; // Every structured document tag has a random unique ID. Assert.That(tag.Id, Is.Positive); // Set the font for the text inside the structured document tag. tag.ContentsFont.Name = "Arial"; // Set the font for the text at the end of the structured document tag. // Any text that we type in the document body after moving out of the tag with arrow keys will use this font. tag.EndCharacterFont.Name = "Arial Black"; // By default, this is false and pressing enter while inside a structured document tag does nothing. // When set to true, our structured document tag can have multiple lines. // Set the "Multiline" property to "false" to only allow the contents // of this structured document tag to span a single line. // Set the "Multiline" property to "true" to allow the tag to contain multiple lines of content. tag.Multiline = true; DocumentBuilder builder = new DocumentBuilder(doc); builder.InsertNode(tag); // Insert a clone of our structured document tag in a new paragraph. StructuredDocumentTag tagClone = (StructuredDocumentTag)tag.Clone(true); builder.InsertParagraph(); builder.InsertNode(tagClone); // Use the "RemoveSelfOnly" method to remove a structured document tag, while keeping its contents in the document. tagClone.RemoveSelfOnly(); doc.Save(ArtifactsDir + "StructuredDocumentTag.PlainText.docx"); //ExEnd doc = new Document(ArtifactsDir + "StructuredDocumentTag.PlainText.docx"); tag = (StructuredDocumentTag)doc.GetChild(NodeType.StructuredDocumentTag, 0, true); Assert.AreEqual("My plain text", tag.Title); Assert.AreEqual(Color.Magenta.ToArgb(), tag.Color.ToArgb()); Assert.AreEqual("MyPlainTextSDT", tag.Tag); Assert.That(tag.Id, Is.Positive); Assert.AreEqual("Arial", tag.ContentsFont.Name); Assert.AreEqual("Arial Black", tag.EndCharacterFont.Name); Assert.True(tag.Multiline); }