1. Produkter
  2.   Tekstbehandling
  3.   C++
  4.   DuckX  

DuckX  

 
 

Open Source C++ API for Word OOXML-dokumenter

 Opprett, les, oppdater og eksporter Microsoft Office Word DOCX-filer i C++-applikasjoner.

DuckX er et gratis C++-bibliotek med åpen kildekode som gjør det mulig for programvareutviklere å jobbe med Microsoft Word (DOCX) i sine egne applikasjoner. API-en kan lese, skrive og redigere MS Word-dokumenter, som har filtypen .docx.

API-et er veldig stabilt og gir støtte for mange viktige tekstbehandlingsfunksjoner som å lage og lagre DOCX-dokumenter, legge til avsnitt, overskrift, sette inn tekst, legge til tabeller, legge til bilder, avsnittsstiler, bruke tekstformatering og mye mer.

Previous Next

Komme i gang med DuckX

Den foretrukne måten er å lage en byggemappe.

Opprett byggemappe for DuckX

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

C++ API for å åpne og lese Word DOCX-dokumenter

DuckX-biblioteket gjør det mulig for profesjonell programvare å åpne et eksisterende ord DOCX-dokumenter i sine egne applikasjoner uten å bruke Microsoft Word. Du kan gå over avsnitt, kjører og skrive dem ut. Det gir også funksjonalitet for å endre word-dokumenter. Du kan også legge til bilder, tekst, fonter, tekstformatering og mer.

Hvordan åpne og lese 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;
}

Sett inn & Rdad-tabell i Word DOCX-fil

DuckX-biblioteket gir utviklere muligheten til å sette inn tabeller i et Word DOCX-dokument i C++-applikasjoner. MS Word-tabeller spiller en svært viktig rolle i å legge ut godt formaterte data. Tabeller er en god måte å presentere data på i rader og kolonner. De er veldig enkle å sette inn og manipulere i Word-filer.

Støtte for tabelllesing 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;
}

Legge til bilder til Word DOCX-filer

DuckX-biblioteket gir funksjonalitet for å sette inn bilder i Word DOCX-dokument. For å legge til et bilde må du oppgi navnet og plasseringen til bildet. Utviklere kan også spesifisere både bredden og høyden på bildet.

 Norsk