Como trabalhar com elementos de documento em C#

C# Document Element Tutorial

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

IronWord é uma poderosa biblioteca de documentos Word projetada para auxiliar desenvolvedores .NET C# na integração dos recursos de criação, leitura e edição de documentos Word e DOCX em seus aplicativos. No contexto de um documento do Word, os elementos do documento são os blocos de construção que compõem o conteúdo.

Início rápido: Criar um texto estilizadoExecutar e incorporar uma imagem

Veja como você pode usar o IronWord para adicionar conteúdo rico – combinando texto formatado e uma imagem incorporada em um documento. Este exemplo demonstra o padrão de invólucro Run para texto com estilo.

  1. Instale IronWord com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronWord
  2. Copie e execute este trecho de código.

    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. Implante para testar em seu ambiente de produção.

    Comece a usar IronWord em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Índice

Conceitos-chave

Hierarquia de Documentos

IronWord segue uma hierarquia de documentos estruturada: Document → Paragraph → Run → TextContent. Compreender essa hierarquia é essencial para trabalhar com texto formatado:

  • WordDocument: O contêiner de alto nível que representa o documento inteiro
  • Paragraph: Um bloco de conteúdo dentro do documento
  • Run: Um objeto invólucro que contém TextContent e pode ter estilo aplicado
  • TextContent: A string de texto real

Adicionando conteúdo aos parágrafos

O IronWord oferece dois métodos para adicionar conteúdo aos parágrafos:

  • AddText(TextContent): Use para texto simples sem estilo. Adiciona TextContent diretamente ao parágrafo.
  • AddChild(Run): Use para texto com estilo. Adiciona um objeto Run (que envolve TextContent e mantém o estilo) ao parágrafo.

Quando você precisa aplicar estilos como tamanho da fonte, cor ou formatação em negrito, crie um objeto Run, atribua um TextStyle ao Run, e use AddChild para adicioná-lo ao parágrafo.

Adicionar Execuções de Texto

Conteúdo do texto

O método Split é utilizado para dividir a execução do texto em uma lista de execuções de texto menores, com base em um delimitador especificado. Isso permite a organização e manipulação de informações textuais dentro do documento.

: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

Estilização de Conjunto

Definir o estilo para o texto requer usar o padrão de invólucro Run. Crie um objeto Run contendo TextContent, depois atribua um TextStyle ao Run (não ao TextContent). O TextStyle permite que você defina atributos visuais como FontSize, cor, negrito, itálico, tachado, sublinhado, sobrescrito e subscrito.

Observe que FontSize é configurado no nível TextStyle, enquanto FontFamily é definido dentro da propriedade TextFont. Uma vez estilizado, use AddChild para adicionar o Run a um parágrafo. Isso segue a hierarquia do documento: 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

Obter cor de preenchimento do texto

Além de definir estilos, IronWord fornece uma maneira de você obter o valor de cor RGBA de documentos existentes para manter a consistência ao longo do estilo.

: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.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.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

Para recuperar valores de cor, carregue o documento usando WordDocument, depois acesse a coleção Paragraphs e o array Texts para obter o objeto TextContent. A propriedade Color de TextContent retorna o valor RGBA da cor existente do texto, permitindo que você mantenha um estilo consistente ao longo do seu documento.

Incorporar imagens

Essa funcionalidade permite incluir imagens no conteúdo de forma integrada, aprimorando o apelo visual geral e o poder de comunicação do documento.

: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(para);

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

' Load docx
Dim doc As New WordDocument()

' Configure image
Dim 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(para)

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

Adicionar imagens

Carregar imagem

Carregar imagens é um processo crucial. Isso envolve a inclusão de arquivos de imagem externos no documento. A possibilidade de carregar imagens facilita a inclusão de elementos visuais relevantes, contribuindo para um documento mais envolvente e informativo.

: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

Configurar imagem

Otimize as imagens com configurações personalizáveis. Isso inclui definir propriedades como quebra de texto, dimensões, posição e distância dos cantos. Uma configuração adequada garante que as imagens sejam exibidas de maneira visualmente agradável e contextualizada.

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

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

// Configure image
ImageContent image = new ImageContent("image.jpg");
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

' Load docx
Dim doc As New WordDocument()

' Configure image
Dim image As New ImageContent("image.jpg")
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

Perguntas frequentes

Como posso adicionar texto a um documento do Word usando C#?

Você pode adicionar texto a um documento do Word usando o IronWord para criar uma instância de um trecho de texto, que pode então ser anexada a um parágrafo dentro do documento.

Qual é o método para dividir o texto em um documento do Word?

O IronWord oferece o método Split , que permite dividir um trecho de texto em segmentos menores com base em um delimitador especificado, facilitando a manipulação do texto.

Como faço para formatar o texto em um documento do Word usando o IronWord?

Você pode estilizar o texto usando o IronWord definindo vários atributos, como tamanho da fonte, cor e estilos como negrito, itálico, tachado, sublinhado, sobrescrito e subscrito.

Como posso inserir imagens em um documento do Word usando C#?

Para incorporar imagens em um documento do Word usando o IronWord, você pode carregar uma imagem de um arquivo e adicioná-la como uma imagem embutida em um parágrafo dentro do documento.

Quais são os passos envolvidos no carregamento de uma imagem em um documento do Word?

Com o IronWord, você pode carregar uma imagem a partir de um arquivo ou de um fluxo de arquivos, o que permite incorporar conteúdo visual em um documento do Word.

Como faço para configurar as propriedades de uma imagem em um documento do Word?

Com o IronWord, você pode configurar propriedades de imagem como quebra de texto, dimensões, deslocamento de posição e distância dos cantos para garantir a exibição correta da imagem no documento.

É possível obter o valor de cor RGBA do texto em um documento do Word?

Sim, o IronWord permite obter o valor de cor RGBA do texto existente em um documento para manter a consistência do estilo em todo o documento.

Como posso começar a usar o IronWord para manipular documentos do Word?

Para começar a usar o IronWord, você pode integrá-lo ao seu aplicativo .NET C# para criar, ler e editar documentos do Word, aproveitando seus recursos abrangentes de biblioteca.

Que tipo de suporte a Iron Software oferece para o IronWord?

A Iron Software fornece suporte abrangente para o IronWord, incluindo documentação, tutoriais e suporte ao cliente para ajudar desenvolvedores na implementação.

Existe algum período de teste gratuito disponível para o IronWord?

Sim, a Iron Software oferece uma avaliação gratuita para o IronWord, permitindo que os desenvolvedores explorem seus recursos e capacidades antes de tomar uma decisão de compra.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Baixar 48,355 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronWord
executar um exemplo Veja seus dados se transformarem em um documento do Word.