DuckX
Open Source C++ API pro dokumenty Word OOXML
Vytvářejte, čtěte, aktualizujte a exportujte soubory DOCX Microsoft Office Word v aplikacích C++.
DuckX je open source bezplatná knihovna C++, která umožňuje vývojářům softwaru pracovat s Microsoft Word (DOCX) v rámci jejich vlastních aplikací. Rozhraní API umí číst, zapisovat a upravovat dokumenty MS Word, které mají příponu .docx.
API je velmi stabilní a poskytuje podporu pro mnoho důležitých funkcí zpracování textu, jako je vytváření a ukládání dokumentů DOCX, přidávání odstavců, nadpis, vkládání textu, přidávání tabulek, přidávání obrázků, stylů odstavců, použití formátování textu a mnoho dalšího.
Začínáme s DuckX
Preferovaným způsobem je vytvoření složky sestavení.
Vytvořte složku Build pro DuckX
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
C++ API pro otevírání a čtení dokumentů Word DOCX
Knihovna DuckX umožňuje softwarovým profesionálům otevřít existující dokumenty Word DOCX v jejich vlastních aplikacích bez použití Microsoft Word. Můžete procházet odstavce, běhy a tisknout je. Poskytuje také funkce pro úpravu dokumentů aplikace Word, můžete také přidávat obrázky, text, písma, formátování textu a další.
Jak otevřít a číst dokumenty Word přes 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;
}
Vložit a silniční Tabulka uvnitř aplikace Word DOCX souboru
Knihovna DuckX dává vývojářům možnost vkládat tabulky do dokumentu Word DOCX v aplikacích C++. Tabulky MS Word hrají velmi důležitou roli při uspořádání dobře formátovaných dat. Tabulky jsou dobrým způsobem prezentace dat v řádcích a sloupcích. Jsou velmi jednoduché vkládat a manipulovat s nimi v souborech aplikace Word.
Podpora čtení tabulky v dokumentech Word přes 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;
}
Přidávání obrázků do souborů Word DOCX
Knihovna DuckX poskytuje funkce pro vkládání obrázků do dokumentu Word DOCX. Chcete-li přidat obrázek, musíte zadat název a umístění obrázku. Vývojáři také mohou určit šířku i výšku obrázku.