Для сохранения текущего форматирования символов в стеке, используйте метод DocumentBuilderPushCharacterFormat. Чтобы извлечь форматирование символов, ранее сохраненное в стеке, используйте метод DocumentBuilderPopCharacterFormat.
Полный код
using System;
using SautinSoft.Document;
using System.Text;
using SautinSoft.Document.Drawing;
using SautinSoft.Document.Tables;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Get your free 100-day key here:
// https://sautinsoft.com/start-for-free/
FormattingOnStack();
}
/// <summary>
/// Saves and retrieves current character formatting on the stack.
/// </summary>
/// <remarks>
/// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/character-formatting-stack.php
/// </remarks>
static void FormattingOnStack()
{
DocumentCore dc = new DocumentCore();
DocumentBuilder db = new DocumentBuilder(dc);
db.CharacterFormat.FontName = "Arial";
db.CharacterFormat.Size = 16;
db.CharacterFormat.FontColor = Color.Blue;
db.Writeln("This text contains formatting font name, size and color. Save the character formatting of this text in as first element of the stack.");
db.PushCharacterFormat();
db.CharacterFormat.ClearFormatting();
db.CharacterFormat.Size = 26;
db.CharacterFormat.FontColor = Color.Orange;
db.CharacterFormat.Italic = true;
db.Writeln("This text contains formatting for font size, color and italic. Save the character formatting of this text as second element of the stack.");
db.PushCharacterFormat();
db.CharacterFormat.ClearFormatting();
// Insert the third way the character formatting of the text.
db.CharacterFormat.Size = 14;
db.CharacterFormat.FontColor = Color.Red;
db.CharacterFormat.Bold = true;
db.Writeln("This text contains formatting for font size, color and bold.");
db.CharacterFormat.ClearFormatting();
// Retrieves text character formatting from the stack (the second element).
db.PopCharacterFormat();
// Retrieves text character formatting from the stack (the first element).
db.PopCharacterFormat();
db.Writeln("The character formatting of this text is extracted from the stack as first element.");
// Save our document into DOCX format.
string resultPath = @"Result.docx";
dc.Save(resultPath, new DocxSaveOptions());
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(resultPath) { UseShellExecute = true });
}
}
}
Imports System
Imports SautinSoft.Document
Imports System.Text
Imports SautinSoft.Document.Drawing
Imports SautinSoft.Document.Tables
Namespace Example
Friend Class Program
Shared Sub Main(ByVal args() As String)
FormattingOnStack()
End Sub
''' Get your free 100-day key here:
''' https://sautinsoft.com/start-for-free/
''' <summary>
''' Saves and retrieves current character formatting on the stack.
''' </summary>
''' <remarks>
''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/character-formatting-stack.php
''' </remarks>
Private Shared Sub FormattingOnStack()
Dim dc As New DocumentCore()
Dim db As New DocumentBuilder(dc)
db.CharacterFormat.FontName = "Arial"
db.CharacterFormat.Size = 16
db.CharacterFormat.FontColor = Color.Blue
db.Writeln("This text contains formatting font name, size and color. Save the character formatting of this text in as first element of the stack.")
db.PushCharacterFormat()
db.CharacterFormat.ClearFormatting()
db.CharacterFormat.Size = 26
db.CharacterFormat.FontColor = Color.Orange
db.CharacterFormat.Italic = True
db.Writeln("This text contains formatting for font size, color and italic. Save the character formatting of this text as second element of the stack.")
db.PushCharacterFormat()
db.CharacterFormat.ClearFormatting()
' Insert the third way the character formatting of the text.
db.CharacterFormat.Size = 14
db.CharacterFormat.FontColor = Color.Red
db.CharacterFormat.Bold = True
db.Writeln("This text contains formatting for font size, color and bold.")
db.CharacterFormat.ClearFormatting()
' Retrieves text character formatting from the stack (the second element).
db.PopCharacterFormat()
' Retrieves text character formatting from the stack (the first element).
db.PopCharacterFormat()
db.Writeln("The character formatting of this text is extracted from the stack as first element.")
' Save our document into DOCX format.
Dim resultPath As String = "result.docx"
dc.Save(resultPath, New DocxSaveOptions())
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(resultPath) With {.UseShellExecute = True})
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: