C# Document Element Tutorial
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.
-
Instala IronWord con el Administrador de Paquetes NuGet
PM > Install-Package IronWord -
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"); -
Despliegue para probar en su entorno real
Comienza a usar IronWord en tu proyecto hoy mismo con una prueba gratuita
Tabla de contenido
- Agregar Texto
- Contenido de Texto (Agregar, Append & Dividir)
- Definir Estilo (Familia de Fuente & Tamaño, Color, Negrita & Cursiva, Tachado, Subrayado, Superíndice & Subíndice)
- Embeder Imágenes
- Agregar Imágenes
- Cargar Imagen (Archivo & FileStream)
- Definir Ajuste de Texto
- Definir Dimensiones (Ancho & Alto)
- Definir Desplazamiento de Posición
- Definir Distancia desde las Esquinas
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 completoParagraph: Un bloque de contenido dentro del documentoRun: Un objeto contenedor que contieneTextContenty al que se le puede aplicar estiloTextContent: 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. AgregaTextContentdirectamente al párrafo.AddChild(Run): Úselo para texto con estilo. Agrega un objetoRun(que envuelveTextContenty 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");
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")
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");
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")
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);
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)
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");
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")
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");
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")
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");
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")
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.

