![](https://products-qa.fileformat.com/lv/word-processing/cpp/duckx/header-image.png)
DuckX
Atvērtā pirmkoda C++ API Word OOXML dokumentiem
Izveidojiet, lasiet, atjauniniet un eksportējiet Microsoft Office Word DOCX failus programmā C++ Applications.
DuckX ir atvērtā pirmkoda bezmaksas C++ bibliotēka, kas ļauj programmatūras izstrādātājiem strādāt ar Microsoft Word (DOCX) savās lietojumprogrammās. API var lasīt, rakstīt un rediģēt MS Word dokumentus, kuriem ir .docx faila paplašinājums.
API ir ļoti stabila un nodrošina atbalstu daudzām svarīgām teksta apstrādes funkcijām, piemēram, DOCX dokumentu izveidei un saglabāšanai, rindkopu pievienošanai, virsrakstu pievienošanai, teksta ievietošanai, tabulu pievienošanai, attēlu pievienošanai, rindkopu stiliem, teksta formatējuma lietošanai un daudz ko citu.
Darba sākšana ar DuckX
Vēlamais veids ir izveidot būvmapi.
Izveidojiet Build mapi DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
C++ API, lai atvērtu un lasītu Word DOCX dokumentus
DuckX bibliotēka ļauj programmatūras profesionālim atvērt esošos Word DOCX dokumentus savās lietojumprogrammās, neizmantojot Microsoft Word. Varat iet pāri rindkopām, palaistām un izdrukāt tās. Tas arī nodrošina Word dokumentu modifikācijas funkcionalitāti, varat arī pievienot attēlus, tekstu, fontus, teksta formatējumu un daudz ko citu.
Kā atvērt un lasīt Word dokumentus, izmantojot 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;
}
Ievietojiet un Rdad tabulu Word DOCX failā
DuckX bibliotēka sniedz izstrādātājiem iespēju ievietot tabulas Word DOCX dokumentā C++ lietojumprogrammās. MS Word tabulām ir ļoti svarīga loma labi formatētu datu izkārtošanā. Tabulas ir labs veids, kā parādīt datus rindās un kolonnās. Tos ir ļoti vienkārši ievietot un apstrādāt Word failos.
Tabulu lasīšanas atbalsts Word dokumentos, izmantojot 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;
}
Attēlu pievienošana Word DOCX failiem
DuckX bibliotēka nodrošina funkcionalitāti attēlu ievietošanai Word DOCX dokumentā. Lai pievienotu attēlu, jānorāda attēla nosaukums un atrašanās vieta. Izstrādātāji var arī norādīt gan attēla platumu, gan augstumu.