Jak pracowac z elementami dokumentu w C#

C# Document Element Tutorial

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord jest potężną biblioteką dokumentów Word, zaprojektowaną aby wspierać programistów .NET C# w integracji możliwości tworzenia, odczytywania i edytowania dokumentów Word oraz DOCX w ich aplikacjach. W kontekście dokumentu Word, elementy dokumentu są blokami budującymi jego treść.

Szybki start: Tworzenie wystylizowanego TextRun i osadzanie obrazu

Oto, jak możesz użyć IronWord do dodania bogatej treści – łącząc wystylizowany tekst i osadzony obraz w dokumencie. Ten przykład ilustruje wzorzec opakowujący Run dla tekstu stylizowanego.

  1. Install IronWord with NuGet Package Manager

    PM > Install-Package IronWord
  2. Skopiuj i uruchom ten fragment kodu.

    using IronWord;
    using IronWord.Models;
    
    // Create document
    WordDocument doc = new WordDocument();
    
    // Create styled Run
    Run textRun = new Run(new TextContent("Hello IronWord!"));
    textRun.Style = new TextStyle() { IsBold = true, Color = Color.Blue };
    
    // Create paragraph and add Run
    Paragraph paragraph = new Paragraph();
    paragraph.AddChild(textRun);
    paragraph.AddImage(new ImageContent("pic.png"));
    
    // Add to document and save
    doc.AddParagraph(paragraph);
    doc.SaveAs("output.docx");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronWord w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Spis treści

Kluczowe pojęcia

Hierarchia dokumentu

IronWord stosuje uporządkowaną hierarchię dokumentów: Document → Paragraph → Run → TextContent. Zrozumienie tej hierarchii jest niezbędne do pracy z wystylizowanym tekstem:

  • WordDocument: Kontener najwyższego poziomu reprezentujący cały dokument
  • Paragraph: Blok treści w dokumencie
  • Run: Obiekt opakowujący, który zawiera TextContent i może mieć zastosowany styl
  • TextContent: Rzeczywisty ciąg tekstowy

Dodawanie treści do akapitów

IronWord dostarcza dwóch metod do dodawania treści do akapitów:

  • AddText(TextContent): Użyj dla zwykłego tekstu bez formatowania. Dodaje TextContent bezpośrednio do akapitu.
  • AddChild(Run): Użyj do tekstu sformatowanego. Dodaje do akapitu obiekt Run (który otacza TextContent i przechowuje styl).

Jeśli chcesz zastosować formatowanie, takie jak rozmiar czcionki, kolor lub pogrubienie, utwórz obiekt Run, przypisz TextStyle do Run i użyj AddChild, aby dodać go do akapitu.

Dodawanie TextRun

Zawartość tekstu

Metoda Split służy do dzielenia fragmentu tekstu na listę mniejszych fragmentów na podstawie określonego separatora. Pozwala to na organizację i manipulację informacjami tekstowymi w dokumencie.

:path=/static-assets/word/content-code-examples/tutorials/add-textrun-text-content.cs
using IronWord;
using IronWord.Models;

WordDocument doc = new WordDocument();

// Add text
TextContent addText = new TextContent("Add text using IronWord");
doc.AddParagraph(new Paragraph(addText));

// Append text
TextContent appendText = new TextContent("The first text.");
appendText.Append(new TextContent("The second text."));
doc.AddParagraph(new Paragraph(appendText));

// Split text
TextContent splitText = new TextContent("Use split to split the sentence.");
splitText.Split(" ");
doc.AddParagraph(new Paragraph(splitText));

// Export docx
doc.SaveAs("textrun.docx");
Imports IronWord
Imports IronWord.Models

Private doc As New WordDocument()

' Add text
Private addText As New TextContent("Add text using IronWord")
doc.AddParagraph(New Paragraph(addText))

' Append text
Dim appendText As New TextContent("The first text.")
appendText.Append(New TextContent("The second text."))
doc.AddParagraph(New Paragraph(appendText))

' Split text
Dim splitText As New TextContent("Use split to split the sentence.")
splitText.Split(" ")
doc.AddParagraph(New Paragraph(splitText))

' Export docx
doc.SaveAs("textrun.docx")
$vbLabelText   $csharpLabel

Ustaw stylizację

Ustawienie stylizacji tekstu wymaga użycia wzorca opakowującego Run. Utwórz obiekt Run zawierający TextContent, a następnie przypisz TextStyle do Run (nie do TextContent). TextStyle pozwala zdefiniować atrybuty wizualne, takie jak FontSize, kolor, pogrubienie, kursywa, przekreślenie, podkreślenie, indeks górny i indeks dolny.

Należy pamiętać, że FontSize jest skonfigurowane na poziomie TextStyle, natomiast FontFamily jest ustawione wewnątrz właściwości TextFont. Po sformatowaniu użyj AddChild, aby dodać Run do akapitu. Zgodne z hierarchią dokumentu: Document → Paragraph → Run → TextContent.

:path=/static-assets/word/content-code-examples/tutorials/add-textrun-set-styling.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Load docx
WordDocument doc = new WordDocument("document.docx");

// Configure text
Run textRun = new Run(new TextContent("Add text using IronWord"));
textRun.Style = new TextStyle()
{
    FontSize = 72,
    TextFont = new Font()
    {
        FontFamily = "Caveat"
    },
    Color = Color.Red,
    IsBold = true,
    IsItalic = true,
    Underline = new Underline(),
    Strike = StrikeValue.Strike,
};

Paragraph paragraph = new Paragraph();

// Add text
paragraph.AddChild(textRun);

// Add paragraph
doc.AddParagraph(paragraph);

// Export docx
doc.SaveAs("save_document.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

' Load docx
Dim doc As New WordDocument("document.docx")

' Configure text
Dim textRun As New Run(New TextContent("Add text using IronWord"))
textRun.Style = New TextStyle() With {
    .FontSize = 72,
    .TextFont = New Font() With {
        .FontFamily = "Caveat"
    },
    .Color = Color.Red,
    .IsBold = True,
    .IsItalic = True,
    .Underline = New Underline(),
    .Strike = StrikeValue.Strike
}

Dim paragraph As New Paragraph()

' Add text
paragraph.AddChild(textRun)

' Add paragraph
doc.AddParagraph(paragraph)

' Export docx
doc.SaveAs("save_document.docx")
$vbLabelText   $csharpLabel

Uzyskiwanie koloru wypełnienia tekstu

Oprócz ustawiania stylów, IronWord umożliwia uzyskanie wartości koloru RGBA z istniejących dokumentów, aby zachować spójność stylów.

:path=/static-assets/word/content-code-examples/tutorials/rgba-color-value.cs
using IronWord;
using IronWord.Models;
using System;

// Open existing Word
WordDocument doc = new WordDocument("Accent1TextThemcolor.docx");

TextContent content = doc.Paragraphs[0].Texts[0];

// This will show the R G B A of the themecolor
var filledColor = content.Color;

// Print the filled color variable to the console
Console.WriteLine(filledColor);
Imports IronWord
Imports IronWord.Models
Imports System

' Open existing Word
Dim doc As New WordDocument("Accent1TextThemcolor.docx")

Dim content As TextContent = doc.Paragraphs(0).Texts(0)

' This will show the R G B A of the themecolor
Dim filledColor = content.Color

' Print the filled color variable to the console
Console.WriteLine(filledColor)
$vbLabelText   $csharpLabel

Aby pobrać wartości kolorów, załaduj dokument za pomocą WordDocument, a następnie uzyskaj dostęp do kolekcji Paragraphs i tablicy Texts, aby uzyskać obiekt TextContent. Właściwość Color obiektu TextContent zwraca wartość RGBA istniejącego koloru tekstu, co pozwala zachować spójny styl w całym dokumencie.

Osadzanie obrazów

Ta funkcja pozwala na bezproblemowe dołączanie obrazów do treści, zwiększając ogólną atrakcyjność wizualną i moc komunikacyjną dokumentu.

:path=/static-assets/word/content-code-examples/tutorials/add-textrun-embed-images.cs
using IronWord;
using IronWord.Models;

// Load docx
WordDocument doc = new WordDocument();

// Configure image
ImageContent image = new ImageContent("image.jpg");
image.Width = 200; // In unit pixel
image.Height = 200; // In unit pixel
TextContent textRun = new TextContent();

// Add image
Paragraph para = new Paragraph(textRun);
para.AddImage(image);

// Add paragraph
doc.AddParagraph(new Paragraph(textRun));

// Export docx
doc.SaveAs("save_document.docx");
Imports IronWord
Imports IronWord.Models

' Load docx
Private doc As New WordDocument()

' Configure image
Private image As New ImageContent("image.jpg")
image.Width = 200 ' In unit pixel
image.Height = 200 ' In unit pixel
Dim textRun As New TextContent()

' Add image
Dim para As New Paragraph(textRun)
para.AddImage(image)

' Add paragraph
doc.AddParagraph(New Paragraph(textRun))

' Export docx
doc.SaveAs("save_document.docx")
$vbLabelText   $csharpLabel

Dodaj obrazy

Ładowanie obrazu

Ładowanie obrazów jest kluczowym procesem. To obejmuje pobieranie zewnętrznych plików obrazu do dokumentu. Możliwość ładowania obrazów ułatwia dołączanie odpowiednich elementów wizualnych, przyczyniając się do bardziej wciągającego i pouczającego dokumentu.

:path=/static-assets/word/content-code-examples/tutorials/add-image-load-image.cs
using IronWord;
using IronWord.Models;

// Load docx
WordDocument doc = new WordDocument();

Paragraph paragraph = new Paragraph();

// Add image
paragraph.AddImage("image.jpg");

// Add paragraph
doc.AddParagraph(paragraph);

// Export docx
doc.SaveAs("document.docx");
Imports IronWord
Imports IronWord.Models

' Load docx
Private doc As New WordDocument()

Private paragraph As New Paragraph()

' Add image
paragraph.AddImage("image.jpg")

' Add paragraph
doc.AddParagraph(paragraph)

' Export docx
doc.SaveAs("document.docx")
$vbLabelText   $csharpLabel

Konfigurowanie obrazu

Optymalizuj obrazy za pomocą konfigurowalnych ustawień. Obejmuje to ustawianie właściwości, takich jak zawijanie tekstu, wymiary, pozycja i odległość od rogów. Odpowiednia konfiguracja zapewnia, że obrazy są wyświetlane w sposób atrakcyjny wizualnie i odpowiedni kontekstowo.

:path=/static-assets/word/content-code-examples/tutorials/add-image-configure-image.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
using IronSoftware.Abstractions.Word;

// Load docx
WordDocument doc = new WordDocument();

// Configure image
ImageContent image = new ImageContent("image.jpg");
image.TextWrapBehavior = new TextWrapSquare();
image.Width = 100;
image.Height = 100;
image.DistanceFromTop = 50;

var position = new ElementPosition();
position.X = 50;
position.Y = 50;
image.Position = position;

Paragraph paragraph = new Paragraph();

// Add image
paragraph.AddImage(image);

// Add paragraph
doc.AddParagraph(paragraph);

// Export docx
doc.SaveAs("document.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
Imports IronSoftware.Abstractions.Word

' Load docx
Dim doc As New WordDocument()

' Configure image
Dim image As New ImageContent("image.jpg")
image.TextWrapBehavior = New TextWrapSquare()
image.Width = 100
image.Height = 100
image.DistanceFromTop = 50

Dim position As New ElementPosition()
position.X = 50
position.Y = 50
image.Position = position

Dim paragraph As New Paragraph()

' Add image
paragraph.AddImage(image)

' Add paragraph
doc.AddParagraph(paragraph)

' Export docx
doc.SaveAs("document.docx")
$vbLabelText   $csharpLabel

Często Zadawane Pytania

Jak mogę dodać tekst do dokumentu WORD za pomocą języka C#?

Możesz dodać tekst do dokumentu Word, używając IronWord do tworzenia instancji wpisu tekstowego, który można następnie dołączyć do akapitu w dokumencie.

Jaka jest metoda dzielenia tekstu w dokumencie Word?

IronWord udostępnia metodę Split, która pozwala podzielić wpis tekstowy na mniejsze segmenty na podstawie określonego separatora, ułatwiając manipulację tekstem.

Jak stylizować tekst w dokumencie Word za pomocą IronWord?

Możesz stylizować tekst w IronWord, ustawiając różne atrybuty, takie jak rozmiar czcionki, kolor i style jak pogrubienie, kursywa, przekreślenie, podkreślenie, indeks górny i dolny.

Jak mogę osadzić obrazy w dokumencie Word za pomocą C#?

Aby osadzić obrazy w dokumencie Word za pomocą IronWord, można załadować obraz z pliku i dodać go jako obraz inline do akapitu w dokumencie.

Jakie kroki są wymagane do załadowania obrazu do dokumentu Word?

Z IronWord, możesz załadować obraz z pliku lub strumienia plików, co umożliwia włączenie treści wizualnej do dokumentu Word.

Jak skonfigurować właściwości obrazu w dokumencie Word?

Korzystając z IronWord, możesz konfigurować właściwości obrazu takie jak owijanie tekstu, wymiary, przemieszczenie pozycji i odległość od narożników, aby zapewnić prawidłowe wyświetlanie obrazu w dokumencie.

Czy mogę pobrać wartość koloru RGBA tekstu w dokumencie Word?

Tak, IronWord pozwala uzyskać wartość koloru RGBA istniejącego tekstu w dokumencie, aby utrzymać spójność stylizacji.

Jak mogę rozpocząć używanie IronWord do manipulacji dokumentami Word?

Aby rozpocząć z IronWord, możesz zintegrować go ze swoją aplikacją .NET C#, aby tworzyć, czytać i edytować dokumenty Word, wykorzystując jego wszechstronne funkcje biblioteki.

Jakiego rodzaju wsparcie oferuje Iron Software dla IronWord?

Iron Software zapewnia wszechstronne wsparcie dla IronWord, w tym dokumentację, tutoriale i wsparcie klienta, aby pomóc programistom w implementacji.

Czy dostępna jest bezpłatna wersja próbna IronWord?

Tak, Iron Software oferuje bezpłatną wersję próbną dla IronWord, umożliwiając programistom zapoznanie się z jego funkcjami i możliwościami przed podjęciem decyzji o zakupie.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 44,829 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronWord
uruchom próbkę zobacz, jak twoje dane stają się dokumentem Word.