Cómo Trabajar con Elementos de Documentos en C#

C# Document Element Tutorial

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

IronWord es una poderosa biblioteca de documentos Word diseñada para ayudar a los desarrolladores de .NET C# a integrar las capacidades de crear, leer y editar documentos Word y DOCX en sus aplicaciones. En el contexto de un documento Word, los elementos del documento son los bloques de construcción que componen el contenido.

Inicio rápido: crear un TextRun con estilo e incrustar una imagen

A continuación te mostramos cómo puedes usar IronWord para agregar contenido enriquecido: combinando texto con estilo y una imagen incrustada en un documento. Este ejemplo demuestra el patrón de envoltura Run para texto con estilo.

  1. Instala IronWord con el Administrador de Paquetes NuGet

    PM > Install-Package IronWord
  2. Copie y ejecute este fragmento 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. Despliegue para probar en su entorno real

    Comienza a usar IronWord en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

Tabla de contenido

Conceptos clave

Jerarquía de documentos

IronWord sigue una jerarquía de documentos estructurada: Documento → Párrafo → Ejecutar → Contenido de texto . Comprender esta jerarquía es esencial para trabajar con texto con estilo:

  • WordDocument: El contenedor de nivel superior que representa el documento completo
  • Paragraph: Un bloque de contenido dentro del documento
  • Run: Un objeto contenedor que contiene TextContent y al que se le puede aplicar estilo
  • TextContent: La cadena de texto real

Agregar contenido a los párrafos

IronWord ofrece dos métodos para agregar contenido a los párrafos:

  • AddText(TextContent): Úselo para texto simple sin estilo. Agrega TextContent directamente al párrafo.
  • AddChild(Run): Úselo para texto con estilo. Agrega un objeto Run (que envuelve TextContent y contiene el estilo) al párrafo.

Cuando necesite aplicar estilos como tamaño de fuente, color o formato de negrita, cree un objeto Run, asigne un TextStyle al Run y use AddChild para agregarlo al párrafo.

Agregar TextRuns

Contenido del texto

El método Split se utiliza para dividir la ejecución de texto en una lista de ejecuciones de texto más pequeñas, según un delimitador especificado. Esto permite la organización y manipulación de la información textual dentro del 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");
$vbLabelText   $csharpLabel

Establecer estilo

Para configurar el estilo del texto es necesario utilizar el patrón envolvente Run. Cree un objeto Run que contenga TextContent, luego asigne un TextStyle al Run (no al TextContent). El TextStyle le permite definir atributos visuales como FontSize, color, negrita, cursiva, tachado, subrayado, superíndice y subíndice.

Tenga en cuenta que FontSize se configura en el nivel TextStyle, mientras que FontFamily se establece dentro de la propiedad TextFont. Una vez diseñado, use AddChild para agregar Run a un párrafo. Esto sigue la jerarquía del documento: Documento → Párrafo → Ejecutar → Contenido de texto.

: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");
$vbLabelText   $csharpLabel

Obtener color de relleno de texto

Además de configurar el estilo, IronWord ofrece una manera de obtener el valor de color RGBA de documentos existentes para mantener la coherencia en todo el 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.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);
$vbLabelText   $csharpLabel

Para recuperar valores de color, cargue el documento usando WordDocument, luego acceda a la colección Paragraphs y a la matriz Texts para obtener el objeto TextContent. La propiedad Color de TextContent devuelve el valor RGBA del color existente del texto, lo que le permite mantener un estilo consistente en todo el documento.

Incrustar imágenes

Esta característica te permite incluir imágenes perfectamente dentro del contenido, mejorando el atractivo visual general y el poder comunicativo del 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(new Paragraph(textRun));

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

Agregar imágenes

Cargar imagen

Cargar imágenes es un proceso crucial. Esto involucra llevar archivos de imagen externos al documento. La capacidad de cargar imágenes facilita la inclusión de visuales relevantes, contribuyendo a un documento más atractivo 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");
$vbLabelText   $csharpLabel

Configurar imagen

Optimizar las imágenes con configuraciones configurables. Esto incluye establecer propiedades como ajuste de texto, dimensiones, posición y distancia desde las esquinas. La configuración adecuada asegura que las imágenes se muestren de manera visualmente agradable y contextualmente apropiada.

: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");
$vbLabelText   $csharpLabel

Preguntas Frecuentes

¿Cómo puedo añadir texto a un documento de Word usando C#?

Puede agregar texto a un documento de Word usando IronWord para crear una instancia de un run de texto, que luego se puede agregar a un párrafo dentro del documento.

¿Cuál es el método para dividir texto en un documento de Word?

IronWord proporciona el método Split, que le permite dividir un run de texto en segmentos más pequeños basados en un delimitador especificado, facilitando la manipulación de texto.

¿Cómo doy estilo al texto en un documento de Word usando IronWord?

Puede dar estilo al texto usando IronWord configurando varios atributos como tamaño de fuente, color y estilos como negrita, cursiva, tachado, subrayado, superíndice y subíndice.

¿Cómo puedo incrustar imágenes en un documento de Word con C#?

Para incrustar imágenes en un documento de Word usando IronWord, puede cargar una imagen desde un archivo y agregarla como una imagen en línea a un párrafo dentro del documento.

¿Qué pasos están involucrados en cargar una imagen en un documento de Word?

Con IronWord, puede cargar una imagen desde un archivo o un flujo de archivos, lo que le permite incorporar contenido visual en un documento de Word.

¿Cómo configuro las propiedades de la imagen en un documento de Word?

Usando IronWord, puede configurar propiedades de imagen como el ajuste de texto, dimensiones, desplazamiento de posición y distancia desde las esquinas para asegurar una correcta visualización de la imagen en el documento.

¿Puedo obtener el valor de color RGBA del texto en un documento de Word?

Sí, IronWord le permite obtener el valor de color RGBA del texto existente en un documento para mantener un estilo coherente en todo el documento.

¿Cómo puedo empezar a usar IronWord para la manipulación de documentos de Word?

Para comenzar con IronWord, puede integrarlo en su aplicación .NET C# para crear, leer y editar documentos de Word, aprovechando sus características completas de biblioteca.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 36,374 | Versión: 2026.3 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronWord
ejecuta una muestra observa cómo tus datos se convierten en un documento de Word.