Click or drag to resize

StyleCollectionImport(Style, ImportSession) Method

Imports (clones) the specified source style and adds into this StyleCollection.

Namespace: SautinSoft.Document
Assembly: SautinSoft.Document (in SautinSoft.Document.dll) Version: 2024.4.24
Syntax
public Style Import(
	Style sourceStyle,
	ImportSession session
)

Parameters

sourceStyle  Style
The source style.
session  ImportSession
Import session.

Return Value

Style
Imported (cloned) source style.
Example

See Developer Guide: How to import styles from a one document to another

How to import styles from a one document to another using C#
using SautinSoft.Document;
using SautinSoft.Document.Tables;
using System.Linq;

namespace Sample
{
    class Sample
    {

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

            ImportStyles();
        }

        /// <summary>
        /// This sample shows how to import styles from a one document to another. 
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/styles-import.php
        /// </remarks>
        public static void ImportStyles()
        {
            DocumentCore source = DocumentCore.Load(@"..\..\..\document with styles.docx");
            DocumentCore dest = new DocumentCore();
            dest.Sections.Add(new Section(dest));

            // 1. Let's import all paragraph styles.
            foreach (Style s in source.Styles.Where(s => s is ParagraphStyle))
                dest.Styles.Import(s);

            // 1.5. Let's import Character style with name from "Green".

            // 1.5.1 Find a desired style with name "Green".
            CharacterStyle charStyle = (CharacterStyle)source.Styles.FirstOrDefault(s => s is CharacterStyle && s.Name=="Green");
            // 1.5.2 Import the style into the "dest" document and get the reference to it.
            if (charStyle != null)
                charStyle = (CharacterStyle)dest.Styles.Import(charStyle);

            // 2. Insert a new paragraph and apply the just now imported style.
            Paragraph p = new Paragraph(dest, "Charles Dickens was an extraordinary man. He is best known " +
                "as a novelist but he was very much more than that. He was as prominent in his other pursuits "+
                "but they were not areas of life where we can still see him today.");
            dest.Sections[0].Blocks.Add(p);

            // Find a style with the name "Center"
            ParagraphStyle pStyle = (ParagraphStyle)dest.Styles.FirstOrDefault(s => s is ParagraphStyle
                            && s.Name == "Center");

            // Apply the style to the paragraph.
            if (pStyle != null)
                p.ParagraphFormat.Style = pStyle;

            // Aplly the character style "Green" to all Run element in our paragraph.
            if (charStyle!=null)
            {
                foreach (Run r in p.Inlines)
                    r.CharacterFormat.Style = charStyle;
            }            

            // Save the dest document into DOCX format.
            string docPath = "SimpleImport.docx";
            dest.Save(docPath);

            // Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(docPath) { UseShellExecute = true });
        }
    }
}
How to import styles from a one document to another using VB.Net
Imports SautinSoft.Document
Imports SautinSoft.Document.Tables
Imports System.Linq

Namespace Sample
    Friend Class Sample

        Shared Sub Main(ByVal args() As String)
            ImportStyles()
        End Sub
        ''' Get your free 30-day key here:   
        ''' https://sautinsoft.com/start-for-free/
        ''' <summary>
        ''' This sample shows how to import styles from a one document to another. 
        ''' </summary>
        ''' <remarks>
        ''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/styles-import.php
        ''' </remarks>
        Public Shared Sub ImportStyles()
            Dim source As DocumentCore = DocumentCore.Load("..\..\..\document with styles.docx")
            Dim dest As New DocumentCore()
            dest.Sections.Add(New Section(dest))

            ' 1. Let's import all paragraph styles.
            For Each style As Style In source.Styles.Where(Function(s) TypeOf s Is ParagraphStyle)
                dest.Styles.Import(style)
            Next style

            ' 1.5. Let's import Character style with name from "Green".

            ' 1.5.1 Find a desired style with name "Green".
            Dim charStyle As CharacterStyle = CType(source.Styles.FirstOrDefault(Function(s) TypeOf s Is CharacterStyle AndAlso s.Name = "Green"), CharacterStyle)
            ' 1.5.2 Import the style into the "dest" document and get the reference to it.
            If charStyle IsNot Nothing Then
                charStyle = CType(dest.Styles.Import(charStyle), CharacterStyle)
            End If

            ' 2. Insert a new paragraph and apply the just now imported style.
            Dim p As New Paragraph(dest, "Charles Dickens was an extraordinary man. He is best known " & "as a novelist but he was very much more than that. He was as prominent in his other pursuits " & "but they were not areas of life where we can still see him today.")
            dest.Sections(0).Blocks.Add(p)

            ' Find a style with the name "Center"
            Dim pStyle As ParagraphStyle = CType(dest.Styles.FirstOrDefault(Function(s) TypeOf s Is ParagraphStyle AndAlso s.Name = "Center"), ParagraphStyle)

            ' Apply the style to the paragraph.
            If pStyle IsNot Nothing Then
                p.ParagraphFormat.Style = pStyle
            End If

            ' Aplly the character style "Green" to all Run element in our paragraph.
            If charStyle IsNot Nothing Then
                For Each r As Run In p.Inlines
                    r.CharacterFormat.Style = charStyle
                Next r
            End If

            ' Save the dest document into DOCX format.
            Dim docPath As String = "SimpleImport.docx"
            dest.Save(docPath)

            ' Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(docPath) With {.UseShellExecute = True})
        End Sub
    End Class
End Namespace
See Also