DuckX
API C++ з відкритим кодом для документів Word OOXML
Створюйте, читайте, оновлюйте та експортуйте файли DOCX Microsoft Office Word у програмах C++.
DuckX — це безкоштовна бібліотека C++ з відкритим кодом, яка дозволяє розробникам програмного забезпечення працювати з Microsoft Word (DOCX) у власних програмах. API може читати, писати та редагувати документи MS Word, які мають розширення .docx.
API дуже стабільний і забезпечує підтримку багатьох важливих функцій обробки Word, таких як створення та збереження документів DOCX, додавання абзаців, заголовків, вставлення тексту, додавання таблиць, додавання зображень, стилів абзаців, застосування форматування тексту та багато іншого.
Початок роботи з 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. Щоб додати зображення, потрібно вказати назву та розташування зображення. Розробники також можуть вказати як ширину, так і висоту зображення.