DuckX  

 
 

C++ API с открытым исходным кодом для документов Word OOXML

 Создавайте, читайте, обновляйте и экспортируйте файлы Microsoft Office Word DOCX внутри приложений C++.

DuckX — это бесплатная библиотека C++ с открытым исходным кодом, которая позволяет разработчикам программного обеспечения работать с Microsoft Word (DOCX) внутри своих собственных приложений. API может читать, записывать и редактировать документы MS Word с расширением файла .docx.

API очень стабилен и обеспечивает поддержку многих важных функций обработки Word, таких как создание и сохранение документов DOCX, добавление абзацев, заголовков, вставка текста, добавление таблиц, добавление изображений, стилей абзацев, применение форматирования текста и многое другое.

Previous Next

Начало работы с DuckX

Предпочтительный способ — создать папку сборки.

Создать папку сборки для DuckX

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

C++ API для открытия и чтения документов Word DOCX

Библиотека DuckX позволяет специалистам по программному обеспечению открывать существующие документы Word DOCX в своих собственных приложениях без использования Microsoft Word. Вы можете просмотреть абзацы, прогоны и распечатать их. Он также предоставляет функциональные возможности для изменения текстовых документов. Вы также можете добавлять изображения, текст, шрифты, форматирование текста и многое другое.

Как открыть и прочитать Word Документы через 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;
}

Включить & Дорога Таблица внутри файла Word DOCX

Библиотека DuckX дает разработчикам возможность вставлять таблицы в документ Word DOCX внутри приложений C++. Таблицы MS Word играют очень важную роль в размещении хорошо отформатированных данных. Таблицы — это хороший способ представления данных в виде строк и столбцов. Их очень просто вставлять и манипулировать ими в файлах Word.

Поддержка чтения таблиц в Word

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

Добавление изображений в файлы Word DOCX

Библиотека DuckX предоставляет функции для вставки изображений в документ Word DOCX. Чтобы добавить изображение, вам необходимо указать имя и местоположение изображения. Разработчики также могут указать как ширину, так и высоту изображения.

 Русский