Click or drag to resize

ElementCollection Class

Represents a base non-generic class for Element collections.
Inheritance Hierarchy
SystemObject
  SautinSoft.DocumentElementCollection
    SautinSoft.DocumentElementCollectionT

Namespace: SautinSoft.Document
Assembly: SautinSoft.Document (in SautinSoft.Document.dll) Version: 2024.12.16
Syntax
public abstract class ElementCollection : IList, 
	ICollection, IEnumerable

The ElementCollection type exposes the following members.

Properties
 NameDescription
Public propertyContent Gets the ContentRange of this collection.
Public propertyCount Gets the number of elements contained in this collection.
Public propertyItem Gets the Element at the specified index.
Public propertySupportedElementTypes Gets a sequence of ElementTypes that can be contained in this collection.
Top
Methods
 NameDescription
Public methodClear Removes all elements from this collection.
Public methodCopyTo Copies the entire collection to an Array, starting at a particular Array index.
Public methodGetEnumerator Returns an enumerator that iterates through a collection.
Public methodCode exampleRemoveAt Removes the element at the specified index.
Top
Example

See Developer Guide: Manipulation with ElementCollection. Split 1st Paragraph by separate Runs and insert each Run into a new Paragraph

Manipulation with ElementCollection. Split 1st Paragraph by separate Runs and insert each Run into a new Paragraph in C#
using System.IO;
using System.Linq;
using SautinSoft.Document;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get your free 100-day key here:   
            // https://sautinsoft.com/start-for-free/

            Manipulation();
        }
        /// <summary>
        /// Manipulation with ElementCollection. Split 1st Paragraph by separate Runs and insert each Run into a new Paragraph.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/elementcollection-manipulation.php
        /// </remarks>
        static void Manipulation()
        {
            string filePath = @"..\..\..\example.docx";
            DocumentCore dc = DocumentCore.Load(filePath);
            string filePathResult = @"Result-file.pdf";
            Section section = dc.Sections[0];
            Paragraph paragraph = section.Blocks[0] as Paragraph;
            for (int i = 1; i < paragraph.Inlines.Count ; )
            {
                Inline inline = paragraph.Inlines[i];
                paragraph.Inlines.RemoveAt(1);
                section.Blocks.Add(new Paragraph(dc, inline));
            }
            dc.Save(filePathResult);
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePath) { UseShellExecute = true });
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePathResult) { UseShellExecute = true });
        }
    }
}
Manipulation with ElementCollection. Split 1st Paragraph by separate Runs and insert each Run into a new Paragraph in VB.Net
Imports System.IO
Imports System.Linq
Imports SautinSoft.Document

Module Sample
    Sub Main()
        Manipulation()
    End Sub
    ''' Get your free 100-day key here:   
    ''' https://sautinsoft.com/start-for-free/
    ''' <summary>
    ''' Manipulation with ElementCollection. Split 1st Paragraph by separate Runs and insert each Run into a new Paragraph.
    ''' </summary>
    ''' <remarks>
    ''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/elementcollection-manipulation.php
    ''' </remarks>
    Sub Manipulation()
        Dim filePath As String = "..\..\..\example.docx"
        Dim dc As DocumentCore = DocumentCore.Load(filePath)
        Dim filePathResult As String = "Result-file.pdf"
        Dim section As Section = dc.Sections(0)
        Dim paragraph As Paragraph = TryCast(section.Blocks(0), Paragraph)
        Dim i As Integer = 1
        Do While i < paragraph.Inlines.Count
            Dim inline As Inline = paragraph.Inlines(i)
            paragraph.Inlines.RemoveAt(1)
            section.Blocks.Add(New Paragraph(dc, inline))
        Loop
        dc.Save(filePathResult)
        System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(filePath) With {.UseShellExecute = True})
        System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(filePathResult) With {.UseShellExecute = True})
    End Sub
End Module
See Also