//// This code is part of Document Solutions for Word demos.// Copyright (c) MESCIUS inc. All rights reserved.//usingGrapeCity.Documents.Word; namespaceDsWordWeb.Demos{// This sample demonstrates the basics of working with text content// and character formatting in DsWord.// It creates a document and adds a paragraph of text to it.// It then splits the paragraph into two runs, and assigns different// font styles to the two halves of the text.// The GetRange() method enables easy pinpointing of locations in the document.publicclassCharacterFormatting {publicGcWordDocumentCreateDocx() {// Get a sample paragraph of text:var lorem = Util.LoremIpsumPar();// Create a new document:GcWordDocument doc = newGcWordDocument();// Add the paragraph to the document:Paragraph p = doc.Body.Paragraphs.Add(lorem);// The primary way of manipulating objects in DsWord is via ranges.// Get the range on the paragraph that we've just added:Range r = p.GetRange();// A Run is a contiguous fragment of a document with uniform formatting.// In our case, we have only one run so far, get it:Run run = r.Runs.First;// Set the size of the font on the whole run: run.Font.Size = 16;// A Text represents a contiguous fragment of text. It also belongs to a Run,// and cannot span multiple runs (a run though can contain several Text's).// Get the text object:Text text = run.GetRange().Texts.First;// Split the text into two halves (Split() returns the 2nd part):Text tIpsum = text.Split(lorem.Length / 2);// At this point, our run contains two Texts (two halves of the original text).// We now split the run into two corresponding runs so that we can// apply different formatting to the two texts:Run rIpsum = run.Split(tIpsum, InsertLocation.Before);// The 'text' was split into two halves, but the first half can still// be accessed via the 'text' variable.// A text's containing run can always be accessed via ParentRun.// We set the font of the first half to italic: text.ParentRun.Font.Italic = true;// and the font of the second half to bold: rIpsum.Font.Bold = true;// Done:return doc; } }}