Этот пример кода показывает нам, как разделять циклы и вставлять каждый Run в новый параграф.
Полный код
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 });
}
}
}
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
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: