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

DuckX  

 
 

Open Source C++ API för Word OOXML-dokument

 Skapa, läs, uppdatera och exportera Microsoft Office Word DOCX-filer i C++-applikationer.

DuckX är ett gratis C++-bibliotek med öppen källkod som gör det möjligt för mjukvaruutvecklare att arbeta med Microsoft Word (DOCX) i sina egna applikationer. API:et kan läsa, skriva och redigera MS Word-dokument som har filtillägget .docx.

API:et är mycket stabilt och ger stöd för många viktiga ordbehandlingsfunktioner som att skapa och spara DOCX-dokument, stycketillägg, rubrik, infoga text, lägga till tabeller, lägga till bilder, styckestilar, tillämpa textformatering och mycket mer.

Previous Next

Komma igång med DuckX

Det föredragna sättet är att skapa en byggmapp.

Skapa byggmapp för DuckX

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

C++ API för att öppna och läsa Word DOCX-dokument

DuckX-biblioteket gör det möjligt för professionell programvara att öppna ett befintligt ord DOCX-dokument i sina egna applikationer utan att använda Microsoft Word. Du kan gå igenom stycken, körningar och skriva ut dem. Det ger också funktionalitet för att ändra Word-dokument, Du kan också lägga till bilder, text, teckensnitt, textformatering och mer.

Hur man öppnar och läser Word-dokument 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;
}

Infoga och väg Tabell i Word DOCX File

DuckX-biblioteket ger utvecklare möjligheten att infoga tabeller i ett Word DOCX-dokument i C++-applikationer. MS Word-tabeller spelar en mycket viktig roll för att lägga ut välformaterade data. Tabeller är ett bra sätt att presentera data i rader och kolumner. De är mycket enkla att infoga och manipulera i Word-filer.

Tabellläsningsstöd i Word-dokument 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;
}

Lägga till bilder till Word DOCX-filer

DuckX-biblioteket tillhandahåller funktionalitet för att infoga bilder i Word DOCX-dokument. För att lägga till en bild måste du ange namn och plats för bilden. Utvecklare kan också ange både bredd och höjd på bilden.

 Svenska