![](https://products-qa.fileformat.com/sv/word-processing/cpp/duckx/header-image.png)
DuckX
Open Source C++ API för Word OOXML-dokument
Skapa, läs, uppdatera och exportera Microsoft Office Word DOCX-filer i C++-applikationer.
DuckX är ett gratis C++-bibliotek med öppen källkod som gör det möjligt för mjukvaruutvecklare att arbeta med Microsoft Word (DOCX) i sina egna applikationer. API:et kan läsa, skriva och redigera MS Word-dokument som har filtillägget .docx.
API:et är mycket stabilt och ger stöd för många viktiga ordbehandlingsfunktioner som att skapa och spara DOCX-dokument, stycketillägg, rubrik, infoga text, lägga till tabeller, lägga till bilder, styckestilar, tillämpa textformatering och mycket mer.
Komma igång med DuckX
Det föredragna sättet är att skapa en byggmapp.
Skapa byggmapp för DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
C++ API för att öppna och läsa Word DOCX-dokument
DuckX-biblioteket gör det möjligt för professionell programvara att öppna ett befintligt ord DOCX-dokument i sina egna applikationer utan att använda Microsoft Word. Du kan gå igenom stycken, körningar och skriva ut dem. Det ger också funktionalitet för att ändra Word-dokument, Du kan också lägga till bilder, text, teckensnitt, textformatering och mer.
Hur man öppnar och läser Word-dokument via 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;
}
Infoga och väg Tabell i Word DOCX File
DuckX-biblioteket ger utvecklare möjligheten att infoga tabeller i ett Word DOCX-dokument i C++-applikationer. MS Word-tabeller spelar en mycket viktig roll för att lägga ut välformaterade data. Tabeller är ett bra sätt att presentera data i rader och kolumner. De är mycket enkla att infoga och manipulera i Word-filer.
Tabellläsningsstöd i Word-dokument via 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;
}
Lägga till bilder till Word DOCX-filer
DuckX-biblioteket tillhandahåller funktionalitet för att infoga bilder i Word DOCX-dokument. För att lägga till en bild måste du ange namn och plats för bilden. Utvecklare kan också ange både bredd och höjd på bilden.