DuckX  

 
 

Avoimen lähdekoodin C++ API Word OOXML -asiakirjoille

 Luo, lue, päivitä ja vie Microsoft Office Word DOCX -tiedostoja C++-sovellusten sisällä.

DuckX on avoimen lähdekoodin ilmainen C++-kirjasto, jonka avulla ohjelmistokehittäjät voivat työskennellä Microsoft Wordin (DOCX) kanssa omissa sovelluksissaan. API voi lukea, kirjoittaa ja muokata MS Word -asiakirjoja, joiden tiedostotunniste on .docx.

API on erittäin vakaa ja tukee monia tärkeitä tekstinkäsittelyominaisuuksia, kuten DOCX-dokumenttien luomista ja tallentamista, kappaleiden lisäämistä, otsikon lisäämistä, tekstin lisäämistä, taulukoiden lisäämistä, kuvien lisäämistä, kappaletyylejä, tekstin muotoilua ja paljon muuta.

Previous Next

DuckX:n käytön aloittaminen

Suositeltu tapa on luoda koontikansio.

Luo koontikansio DuckX:lle

git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;

C++ API Word DOCX -asiakirjojen avaamiseen ja lukemiseen

DuckX-kirjaston avulla ohjelmistoammattilainen voi avata olemassa olevia Word DOCX -asiakirjoja omissa sovelluksissaan ilman Microsoft Wordia. Voit käydä läpi kappaleita, suorituksia ja tulostaa ne. Se tarjoaa myös toimintoja Word-asiakirjojen muokkaamiseen. Voit myös lisätä kuvia, tekstiä, fontteja, tekstin muotoilua ja paljon muuta.

Word-asiakirjojen avaaminen ja lukeminen C++ API:n kautta

#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;
}

Lisää & Rdad-taulukko Wordin DOCX-tiedostoon

DuckX-kirjasto antaa kehittäjille mahdollisuuden lisätä taulukoita Word DOCX -asiakirjaan C++-sovelluksissa. MS Word -taulukoilla on erittäin tärkeä rooli hyvin muotoillun tiedon asettamisessa. Taulukot ovat hyvä tapa esittää tietoja riveissä ja sarakkeissa. Niitä on erittäin helppo lisätä ja käsitellä Word-tiedostoissa.

Taulukon lukutuki Word-asiakirjoissa C++ API:n kautta

#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;
}

Kuvien lisääminen Wordin DOCX-tiedostoihin

DuckX-kirjasto tarjoaa toiminnot kuvien lisäämiseen Word DOCX -asiakirjaan. Kuvan lisäämiseksi sinun on annettava kuvan nimi ja sijainti. Kehittäjät voivat myös määrittää sekä kuvan leveyden että korkeuden.

 Suomen