1. 产品
  2.   字处理
  3.   C++
  4.   DuckX  

DuckX  

 
 

用于 Word OOXML 文档的开源 C++ API

 在 C++ 应用程序中创建、读取、更新和导出 Microsoft Office Word DOCX 文件。

DuckX 是一个开源的免费 C++ 库,使软件开发人员能够在自己的应用程序中使用 Microsoft Word (DOCX)。 API 可以读取、写入和编辑具有 .docx 文件扩展名的 MS Word 文档。

API 非常稳定,支持许多重要的文字处理功能,例如创建和保存 DOCX 文档、添加段落、标题、插入文本、添加表格、添加图像、段落样式、应用文本格式等等。

Previous Next

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 文档中插入图像的功能。要添加图像,您需要提供图像的名称和位置。开发人员还可以指定图像的宽度和高度。

 中国人