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.

Previous Next

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.

 Čeština