DuckX  

 
 

API C++ з відкритим кодом для документів Word OOXML

 Створюйте, читайте, оновлюйте та експортуйте файли DOCX Microsoft Office Word у програмах 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. Ви також можете додавати зображення, текст, шрифти, форматування тексту тощо.

Як відкривати та читати документи 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 через 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;
}

Додавання зображень до файлів Word DOCX

Бібліотека DuckX забезпечує функціональність для вставки зображень у документ Word DOCX. Щоб додати зображення, потрібно вказати назву та розташування зображення. Розробники також можуть вказати як ширину, так і висоту зображення.

 Українська