![](https://products-qa.fileformat.com/da/word-processing/cpp/duckx/header-image.png)
DuckX
Open Source C++ API til Word OOXML-dokumenter
Opret, læs, opdater og eksportér Microsoft Office Word DOCX-filer i C++ applikationer.
DuckX er et Open Source gratis C++ bibliotek, der gør det muligt for softwareudviklere at arbejde med Microsoft Word (DOCX) i deres egne applikationer. API'et kan læse, skrive og redigere MS Word-dokumenter, som har filtypen .docx.
API'et er meget stabilt og understøtter mange vigtige tekstbehandlingsfunktioner, såsom oprettelse og lagring af DOCX-dokumenter, tilføjelse af afsnit, overskrift, indsættelse af tekst, tilføjelse af tabeller, tilføjelse af billeder, afsnitsformater, anvendelse af tekstformatering og meget mere.
Kom godt i gang med DuckX
Den foretrukne måde er at oprette en build-mappe.
Opret Build-mappe til DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
C++ API til at åbne og læse Word DOCX-dokumenter
DuckX-biblioteket gør det muligt for softwareprofessionelle at åbne et eksisterende ord DOCX-dokumenter i deres egne applikationer uden at bruge Microsoft Word. Du kan gennemgå afsnit, kørsler og udskrive dem. Det giver også funktionalitet til at ændre word-dokumenter. Du kan også tilføje billeder, tekst, skrifttyper, tekstformatering og mere.
Hvordan man åbner og læser Word-dokumenter 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;
}
Indsæt & Rdad-tabel i Word DOCX-fil
DuckX-biblioteket giver udviklere mulighed for at indsætte tabeller i et Word DOCX-dokument i C++-applikationer. MS Word-tabeller spiller en meget vigtig rolle i udformningen af velformaterede data. Tabeller er en god måde at præsentere data på i rækker og kolonner. De er meget enkle at indsætte og manipulere i Word-filer.
Understøttelse af tabellæsning i Word-dokumenter 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;
}
Tilføjelse af billeder til Word DOCX-filer
DuckX-biblioteket giver funktionalitet til at indsætte billeder i Word DOCX-dokument. For at tilføje et billede skal du angive navnet og placeringen af billedet. Udviklere kan også angive både bredden og højden af billedet.