![](https://products-qa.fileformat.com/lt/word-processing/cpp/duckx/header-image.png)
DuckX
Atvirojo kodo C++ API, skirta Word OOXML dokumentams
Kurkite, skaitykite, atnaujinkite ir eksportuokite Microsoft Office Word DOCX failus C++ programose.
„DuckX“ yra nemokama atvirojo kodo C++ biblioteka, leidžianti programinės įrangos kūrėjams dirbti su „Microsoft Word“ (DOCX) savo programose. API gali skaityti, rašyti ir redaguoti MS Word dokumentus, kurių failo plėtinys yra .docx.
API yra labai stabili ir palaiko daugybę svarbių teksto apdorojimo funkcijų, tokių kaip DOCX dokumentų kūrimas ir išsaugojimas, pastraipų pridėjimas, antraštės, teksto įterpimas, lentelių pridėjimas, vaizdų pridėjimas, pastraipų stiliai, teksto formatavimo taikymas ir daug daugiau.
Darbo su „DuckX“ pradžia
Pageidautinas būdas yra sukurti kūrimo aplanką.
Sukurkite „DuckX“ kūrimo aplanką
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
C++ API, skirta atidaryti ir skaityti Word DOCX dokumentus
DuckX biblioteka leidžia programinės įrangos profesionalams atidaryti esamus Word DOCX dokumentus savo programose nenaudojant Microsoft Word. Galite pereiti pastraipas, eigas ir jas spausdinti. Tai taip pat suteikia galimybę keisti Word dokumentus, taip pat galite pridėti vaizdų, teksto, šriftų, teksto formatavimo ir kt.
Kaip atidaryti ir skaityti „Word“ dokumentus naudojant 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;
}
Įterpti ir Rdad lentelę Word DOCX faile
DuckX biblioteka suteikia kūrėjams galimybę įterpti lenteles į Word DOCX dokumentą C++ programose. MS Word lentelės vaidina labai svarbų vaidmenį išdėstant gerai suformatuotus duomenis. Lentelės yra geras būdas pateikti duomenis eilutėse ir stulpeliuose. Juos labai paprasta įterpti ir manipuliuoti Word failais.
Lentelių skaitymo palaikymas Word dokumentuose per 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;
}
Vaizdų įtraukimas į Word DOCX failus
„DuckX“ biblioteka suteikia galimybę įterpti vaizdus į „Word DOCX“ dokumentą. Norėdami pridėti vaizdą, turite nurodyti vaizdo pavadinimą ir vietą. Kūrėjai taip pat gali nurodyti vaizdo plotį ir aukštį.