DuckX
Open Source C++ API pentru documentele Word OOXML
Creați, citiți, actualizați și exportați fișiere Microsoft Office Word DOCX în cadrul aplicațiilor C++.
DuckX este o bibliotecă C++ cu sursă deschisă gratuită care permite dezvoltatorilor de software să lucreze cu Microsoft Word (DOCX) în propriile aplicații. API-ul poate citi, scrie și edita documente MS Word, care au extensia de fișier .docx.
API-ul este foarte stabil și oferă suport pentru multe funcții importante de procesare a textului, cum ar fi crearea și salvarea documentelor DOCX, adăugarea de paragrafe, titluri, inserarea de text, adăugarea de tabele, adăugarea de imagini, stiluri de paragraf, aplicarea formatării textului și multe altele.
Noțiuni introductive cu DuckX
Modul preferat este de a crea un folder de compilare.
Creați un folder de compilare pentru DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
C++ API pentru a deschide și a citi documente Word DOCX
Biblioteca DuckX permite profesioniștilor de software să deschidă documente DOCX Word existente în propriile aplicații fără a utiliza Microsoft Word. Puteți să treceți peste paragrafe, să rulați și să le imprimați. Oferă, de asemenea, funcționalitate pentru modificarea documentelor Word. De asemenea, puteți adăuga imagini, text, fonturi, formatare text și multe altele.
Cum să deschideți și să citiți documentele Word prin 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;
}
Introducere în Word DOCX File
Biblioteca DuckX oferă dezvoltatorilor capacitatea de a insera tabele într-un document Word DOCX în aplicațiile C++. Tabelele MS Word joacă un rol foarte important în prezentarea datelor bine formatate. Tabelele sunt o modalitate bună de a prezenta datele în rânduri și coloane. Sunt foarte simplu de inserat și manipulat în fișierele Word.
Suport pentru citirea tablei în documentele Word prin 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;
}
Adăugarea de imagini la fișierele Word DOCX
Biblioteca DuckX oferă funcționalitate pentru inserarea imaginilor în documentul Word DOCX. Pentru a adăuga o imagine, trebuie să furnizați numele și locația imaginii. De asemenea, dezvoltatorii pot specifica atât lățimea, cât și înălțimea imaginii.