DuckX
API C++ de código abierto para documentos Word OOXML
Cree, lea, actualice y exporte archivos DOCX de Microsoft Office Word dentro de aplicaciones C++.
DuckX es una biblioteca C++ gratuita de código abierto que permite a los desarrolladores de software trabajar con Microsoft Word (DOCX) dentro de sus propias aplicaciones. La API puede leer, escribir y editar documentos de MS Word, que tienen la extensión de archivo .docx.
La API es muy estable y brinda soporte para muchas funciones importantes de procesamiento de textos, como crear y guardar documentos DOCX, agregar párrafos, encabezados, insertar texto, agregar tablas, agregar imágenes, estilos de párrafo, aplicar formato de texto y mucho más.
Primeros pasos con DuckX
La forma preferida es crear una carpeta de compilación.
Crear carpeta de compilación para DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
API de C++ para abrir y leer documentos DOCX de Word
La biblioteca DuckX permite a los profesionales de software abrir documentos DOCX de Word existentes dentro de sus propias aplicaciones sin usar Microsoft Word. Puede repasar párrafos, ejecutarlos e imprimirlos. También brinda funcionalidad para modificar documentos de Word. También puede agregar imágenes, texto, fuentes, formato de texto y más.
Cómo abrir y leer documentos de Word vía C++ API
#include
#include
int main() {
duckx::Document doc("file.docx");
doc.open();
for (auto p : doc.paragraphs())
for (auto r : p.runs())
std::cout << r.get_text() << std::endl;
}
Insertar Tabla de ruta en el archivo Word DOCX
La biblioteca DuckX brinda a los desarrolladores la capacidad de insertar tablas en un documento DOCX de Word dentro de las aplicaciones C++. Las tablas de MS Word juegan un papel muy importante en el diseño de datos bien formateados. Las tablas son una buena manera de presentar datos en filas y columnas. Son muy simples de insertar y manipular en archivos de Word.
Tabla de lectura Soporte en documentos de Word vía C++ API
#include "../src/duckx.hpp"
using namespace std;
// Print a paragraph and all children runs
void print_paragraph(duckx::Paragraph& p) {
for (auto r = p.runs(); r.has_next(); r.next()) {
cout << r.get_text() << endl;
}
}
int main() {
duckx::Document doc("my_test.docx");
doc.open();
cout << "Paragraph content:" << endl;
for (auto p = doc.paragraphs(); p.has_next(); p.next()) {
for (auto r = p.runs(); r.has_next(); r.next()) {
cout << r.get_text() << endl;
}
print_paragraph(p);
}
cout << "Table content:" << endl;
for (auto t = doc.tables(); t.has_next(); t.next()) {
for (auto tr = t.rows(); tr.has_next(); tr.next()) {
for (auto tc = tr.cells(); tc.has_next(); tc.next()) {
for (auto p = tc.paragraphs(); p.has_next(); p.next()) {
print_paragraph(p);
}
}
}
}
return 0;
}
Adición de imágenes a archivos DOCX de Word
La biblioteca DuckX proporciona funcionalidad para insertar imágenes dentro del documento Word DOCX. Para agregar una imagen, debe proporcionar el nombre y la ubicación de la imagen. Los desarrolladores también pueden especificar tanto el ancho como el alto de la imagen.