A C++ library for creating, reading, and modifying Microsoft Word (.docx) files programmatically.
DuckX is a C++ library that allows developers to create, read, and modify Microsoft Word documents in the .docx format programmatically. It solves the problem of lacking a native C++ solution for Word file manipulation, enabling automation without external dependencies like Office software. The library provides direct access to document structure, paragraphs, and text runs.
C++ developers who need to generate or process Word documents in applications, such as report generators, document automation tools, or data export systems.
Developers choose DuckX because it is a dedicated, lightweight C++ library for .docx files, avoiding the overhead of COM-based automation or Java-based tools. It offers a simple API and integrates easily with C++ projects using CMake.
C++ library for creating and modifying Microsoft Word (.docx) files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
DuckX provides a pure C++ solution for .docx files, eliminating dependencies on Microsoft Office or COM interop, as highlighted in its philosophy to fill a gap for native C++ automation.
The API allows easy document opening and iteration over paragraphs and runs, demonstrated in the quick start example with clear, concise code for basic operations.
Built with standard C++ and CMake, DuckX ensures portability across Windows, Linux, and macOS, making it suitable for diverse development environments.
Relies on only two external libraries (zip and pugixml), keeping the footprint small and focused, which simplifies integration into existing C++ projects.
DuckX primarily handles basic text, paragraphs, and properties, lacking built-in support for tables, images, or advanced formatting, restricting its use for complex documents.
Requires integration with zip and pugixml, which can complicate the build process and introduce potential versioning issues or additional setup overhead.
The README provides only sparse examples and links to external docs, which may not cover advanced use cases or troubleshooting, making it harder for new users to get started.
DuckX is an open-source alternative to the following products: