Share via


RunProperties Constructor

Initializes a new instance of the RunProperties class.

Namespace:  DocumentFormat.OpenXml.Wordprocessing
Assembly:  DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)

Syntax

'Declaration
Public Sub New
'Usage

Dim instance As New RunProperties()
public RunProperties()

Examples

The following code example creates a word processing document and writes some text into it using specific fonts. After you run the example examine the created test file to see the text.

using System;
using System.Collections.Generic;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

namespace RunPropertiesEx
{
    class Program
    {
        static void Main(string[] args)
        {
            // This example creates a word processing document and writes
            // some text into it using specific fonts.
            string filepath = @"C:\Users\Public\Documents\RunPropertiesEx.docx";
            using (WordprocessingDocument source = 
                WordprocessingDocument.Create(filepath, WordprocessingDocumentType
                .Document))
            {
                // Create a Document, Body, and Paragraph objects.
                MainDocumentPart mainPart = source.AddMainDocumentPart();
                mainPart.Document = new Document();
                Body body = mainPart.Document.AppendChild(new Body());
                Paragraph paragraph = body.AppendChild(new Paragraph());

                // Append a run as source and set its Attributes.
                Run srcRunElem = paragraph.AppendChild(new Run(new
                    Text("Hello, World!")));
                RunProperties rPr1 = new RunProperties(new RunFonts() 
                    { Ascii = "Palace Script MT", 
                    Hint = FontTypeHintValues.ComplexScript },
                    new Color() { Val = "FF0000" }, new FontSize() 
                    { Val = "84" });

                // Prepend the RunProperties to the Run.
                srcRunElem.PrependChild<RunProperties>(rPr1);

                // Append another run as target and set its Attributes.
                Run targetRun = paragraph.AppendChild(new Run(new Text
                    ("Hello again")));
                RunProperties rPr2 = new RunProperties(new RunFonts() 
                { Ascii = "Algerian" }, new Color() { Val = "FF00FF" }, 
                new FontSize() { Val = "64" });

                // Prepend the RunProperties to the Run.
                targetRun.PrependChild<RunProperties>(rPr2);

                // Get the SlideSize RunFonts form source and target.
                RunFonts srcRunFontsElem = srcRunElem.RunProperties.RunFonts;
                RunFonts tgtRunFontsElem = targetRun.RunProperties.RunFonts;

                // Retrieve Attributes of the source element.
                IList<OpenXmlAttribute> srcRunFontsAttrs = srcRunFontsElem.GetAttributes();
                Console.WriteLine("Source Fonts:");
                foreach (OpenXmlAttribute a in srcRunFontsAttrs)
                {
                    Console.WriteLine("{0}: {1}", a.LocalName, a.Value);
                }

                // Call SetAttributes on target RunFonts, changes will be accpeted to target.
                // Ascii is updated. And Hint which didn't exist in target, is appended.
                tgtRunFontsElem.SetAttributes(srcRunFontsAttrs);
                Console.WriteLine("Target Fonts after setting:");
                foreach (OpenXmlAttribute a in tgtRunFontsElem.GetAttributes())
                {
                    Console.WriteLine("{0}: {1}", a.LocalName, a.Value);
                }

                Console.WriteLine("All done. Press a key.");
                Console.ReadKey();
            }
        }
    }
}
//Output:
//Source Fonts:
//hint: cs
//ascii: Palace Script MT
//Target Fonts after setting:
//hint: cs
//ascii: Palace Script MT
//All done. Press a key.
Imports System.Collections.Generic
Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXml.Wordprocessing

Module Module1

    Sub Main(ByVal args As String())
        ' This example creates a word processing document and writes
        ' some text into it using specific fonts.
        Dim filepath As String = "C:\Users\Public\Documents\RunPropertiesEx.docx"
        Using source As WordprocessingDocument = WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document)
            ' Create a Document, Body, and Paragraph objects.
            Dim mainPart As MainDocumentPart = source.AddMainDocumentPart()
            mainPart.Document = New Document()
            Dim body As Body = mainPart.Document.AppendChild(New Body())
            Dim paragraph As Paragraph = body.AppendChild(New Paragraph())

            ' Append a run as source and set its Attributes.
            Dim srcRunElem As Run = paragraph.AppendChild(New Run(New Text("Hello, World!")))
            Dim rPr1 As New RunProperties(New RunFonts() With { _
             .Ascii = "Palace Script MT", _
             .Hint = FontTypeHintValues.ComplexScript _
            }, New Color() With { _
             .Val = "FF0000" _
            }, New FontSize() With { _
             .Val = "84" _
            })

            ' Prepend the RunProperties to the Run.
            srcRunElem.PrependChild(Of RunProperties)(rPr1)

            ' Append another run as target and set its Attributes.
            Dim targetRun As Run = paragraph.AppendChild(New Run(New Text("Hello again")))
            Dim rPr2 As New RunProperties(New RunFonts() With { _
             .Ascii = "Algerian" _
            }, New Color() With { _
             .Val = "FF00FF" _
            }, New FontSize() With { _
             .Val = "64" _
            })

            ' Prepend the RunProperties to the Run.
            targetRun.PrependChild(Of RunProperties)(rPr2)

            ' Get the SlideSize RunFonts form source and target.
            Dim srcRunFontsElem As RunFonts = srcRunElem.RunProperties.RunFonts
            Dim tgtRunFontsElem As RunFonts = targetRun.RunProperties.RunFonts

            ' Retrieve Attributes of the source element.
            Dim srcRunFontsAttrs As IList(Of OpenXmlAttribute) = srcRunFontsElem.GetAttributes()
            Console.WriteLine("Source Fonts:")
            For Each a As OpenXmlAttribute In srcRunFontsAttrs
                Console.WriteLine("{0}: {1}", a.LocalName, a.Value)
            Next

            ' Call SetAttributes on target RunFonts, changes will be accpeted to target.
            ' Ascii is updated. And Hint which didn't exist in target, is appended.
            tgtRunFontsElem.SetAttributes(srcRunFontsAttrs)
            Console.WriteLine("Target Fonts after setting:")
            For Each a As OpenXmlAttribute In tgtRunFontsElem.GetAttributes()
                Console.WriteLine("{0}: {1}", a.LocalName, a.Value)
            Next

            Console.WriteLine("All done. Press a key.")
            Console.ReadKey()
        End Using
    End Sub
End Module
'Output:
'Source Fonts:
'hint: cs
'ascii: Palace Script MT
'Target Fonts after setting:
'hint: cs
'ascii: Palace Script MT
'All done. Press a key.

See Also

Reference

RunProperties Class

RunProperties Members

RunProperties Overload

DocumentFormat.OpenXml.Wordprocessing Namespace