DuckX
用于 Word OOXML 文档的开源 C++ API
在 C++ 应用程序中创建、读取、更新和导出 Microsoft Office Word DOCX 文件。
DuckX 入门
首选方法是创建一个构建文件夹。
为 DuckX 创建构建文件夹
git clone https://github.com/amiremohamadi/DuckX.git
cd DuckX
mkdir build
cd build
cmake ..
cmake --build;
用于打开和读取 Word DOCX 文档的 C++ API
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;
}
第DOCX条文内插入和道路表
DuckX 库使开发人员能够将表格插入到 C++ 应用程序中的 Word DOCX 文档中。 MS Word 表格在布置格式良好的数据方面起着非常重要的作用。表格是在行和列中呈现数据的好方法。在 Word 文件中插入和操作它们非常简单。
单词文档阅读支持C++
#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 文档中插入图像的功能。要添加图像,您需要提供图像的名称和位置。开发人员还可以指定图像的宽度和高度。