DuckX
C++ API с открытым исходным кодом для документов Word OOXML
Создавайте, читайте, обновляйте и экспортируйте файлы Microsoft Office Word DOCX внутри приложений 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 Документы через 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. Чтобы добавить изображение, вам необходимо указать имя и местоположение изображения. Разработчики также могут указать как ширину, так и высоту изображения.