Instale un archivo de origen abierto.Words para .NET, aprenda a leer el archivo DOCX en C# programáticamente. Esta API ofrece métodos para crear un visor de archivos de Word.
Descripción general
No es fácil crear un software comercial que se ocupe de la creación y manipulación de archivos inmensamente. El tiempo y las horas del hombre son factores críticos, pero la opción de bibliotecas de terceros relevantes juega un papel vital en la fase de desarrollo. Por lo tanto, pasemos por una biblioteca .NET de código abierto que ofrece una amplia gama de métodos para manipular Word archivos mediante programación. Esta API no solo le permite crear/editar archivos de Word, sino que también puede leer archivos comerciales Docs/Docx. Estamos hablando de FileFormat.Words es un paquete completo de características necesarias para procesar documentos de Word mediante programación. Sin embargo, esta publicación de blog responderá a su pregunta (es decir, ¿Cómo abro un archivo DOCX en C#? ). Además, podrá crear un lector de archivos de Word al final de este artículo. Cubriremos los siguientes puntos en esta guía:
Visor de archivos de Word: instalación de API
Visite este enlace para pasar por el proceso de instalación en detalle. De lo contrario, es bastante fácil de instalar, ya sea que pueda instalarlo utilizando su paquete Nuget o ejecutando el siguiente comando en Nuget Package Manager.
Install-Package FileFormat.Words
¿Cómo abro un archivo DOCX en C#?
Una vez que se instala esta API .NET de código abierto, puede comenzar a escribir el código de inmediato. Creemos un componente de lector de archivos de Word para su software comercial. Existen múltiples métodos y propiedades para leer un archivo DOCX/DOCS, pero utilizaremos algunos métodos/propiedades destacados. Puede seguir los siguientes pasos y el fragmento de código:
- Inicialice una instancia de la clase documento y cargue el archivo DOCX/DOCS.
- Instanciar un objeto de la clase cuerpo.
- Invoca el método getDocumentTables.count () que devuelve el número total de tablas en un documento.
- La propiedad getDocumentTables devuelve las propiedades de la tabla.
- La propiedad ExistableTableHeaders devuelve los encabezados de la tabla.
- Llame a la propiedad NumberOfRows para acceder a las filas de la tabla.
- Use la propiedad NumberOfColumns para obtener el número de columnas.
- Acceda al número de celdas usando la propiedad NumberOfCells.
- La propiedad TableBorder se usa para leer el estilo de borde.
- Use la propiedad tableposition para obtener la posición de la tabla.
- Invocar el método ExtractImagesFromDocument para obtener todas las imágenes de un documento de Word.
- Llame al método GetParagraphs para recuperar todos los párrafos del documento.
- La propiedad Linesspacing se usa para conocer el espacio entre las líneas.
- La propiedad sangría se utiliza para conocer el valor de la sangría.
- Obtenga el texto del párrafo llamando a la propiedad texto.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class and load the Docx/Docs file.
using (Document doc1 = new Document("/Docs.docx"))
{
// Instantiate an object of the Body class.
Body body1 = new Body(doc1);
// Invoke the getDocumentTables method that returns the total number of tables in a document.
Console.WriteLine("Total Number of Tables " + body1.getDocumentTables.Count());
int i = 0;
// The getDocumentTables property returns the table properties.
foreach (Table props in body1.getDocumentTables)
{
// The ExistingTableHeaders property returns the table headers.
foreach (string tableHeader in props.ExistingTableHeaders)
{
i++;
Console.WriteLine("Header"+i+": "+tableHeader);
}
// Call NumberOfRows property to access the table rows.
Console.WriteLine("Number of rows "+props.NumberOfRows);
// Use NumberOfColumns property to fetch number of columns.
Console.WriteLine("Number of columns " + props.NumberOfColumns);
// Access the number of cells using NumberOfCells property.
Console.WriteLine("Number of cells " + props.NumberOfCells);
Console.WriteLine("Cell width " + props.CellWidth);
// The TableBorder property is used to read the border style.
Console.WriteLine("Border style " + props.TableBorder);
// Use the TablePosition property to get the position of the table.
Console.WriteLine("Table position " + props.TablePosition);
Console.WriteLine(" ");
}
// Invoke the ExtractImagesFromDocument method to get all the images from a Word document.
List<Stream> imageParts = Image.ExtractImagesFromDocument(doc1);
int imageCount = imageParts.Count;
Console.WriteLine($"Total number of images: {imageCount}");
// Call the GetParagraphs method to retrieve all the document paragraphs.
List<Paragraph> paras = body1.GetParagraphs();
Console.WriteLine("The number of Paragraphs " + paras.Count());
foreach (Paragraph p in paras)
{
// The LinesSpacing property is used to know the spacing between the lines.
Console.WriteLine("Line spacing "+p.LinesSpacing);
// The Indent property is used to know the value of indentation.
Console.WriteLine("Indent value "+p.Indent);
// Get the text of the paragraph by calling the Text property.
Console.WriteLine(p.Text);
}
}
}
}
}
El fragmento de código anterior lee un archivo de Word que contiene un párrafo, una tabla y una imagen. Sin embargo, puede ver la salida en la imagen a continuación:
Conclusión
Estamos terminando esta publicación de blog aquí. Esperamos que tenga la respuesta a su pregunta (es decir, ¿Cómo abro un archivo DOCX en C#? ). Además, hemos pasado por el fragmento de código que lee un documento de Word existente programáticamente. Ahora, puede construir fácilmente un módulo que funcione como un Visor de archivos de Word . Además, no olvide visitar la documentación de FileFormat.Words para .NET. Finalmente, fileFormat.com continúa escribiendo publicaciones de blog sobre otros temas. Además, puede seguirnos en nuestras plataformas de redes sociales, incluidas Facebook, LinkedIn y Twitter.
Contribuir
Dado que FileFormat.Words para .NET es un proyecto de código abierto y está disponible en GitHub. Entonces, la contribución de la comunidad es muy apreciada.
Haga una pregunta
Puede informarnos sobre sus preguntas o consultas en nuestro Foro.
Preguntas frecuentes-Preguntas frecuentes
** ¿Cómo abro un archivo docx sin palabra?** Puede abrir archivos DOCX/DOCS utilizando esta biblioteca .NET de código abierto FileFormat.Words. Además, puede crear un módulo de lector de archivos de Word para su aplicación comercial utilizando esta biblioteca.