Бесплатный API C++ для создания файлов Word DOCX на основе шаблонов

Ведущая бесплатная библиотека C++ с открытым исходным кодом для обработки текста позволяет программно создавать, редактировать, объединять и конвертировать файлы Word DOCX. Добавляйте штрих‑коды, диаграммы, текст, изображения и применяйте форматирование.

Что такое DocxFactory?

DocxFactory — мощная кроссплатформенная библиотека C++ с открытым исходным кодом, предназначенная для генерации файлов Microsoft Word DOCX (формат OpenXML) с помощью создания документов на основе шаблонов. Эта бесплатная библиотека поставляется с обёртками для нескольких языков программирования, включая C#, Java, Python и Progress 4GL, а также с инструментами командной строки. Что отличает DocxFactory, так это шаблонный подход, который устраняет необходимость разработки понимания сложного формата файлов OpenXML. Библиотека включает поддержку различных важных функций обработки текста, таких как генерация документов на основе шаблонов, вставка/удаление абзацев или изображений, форматирование текста, работа с таблицами, объединение или разбиение ячеек, управление списками, многоязычная поддержка, обширная поддержка штрих‑кодов, поддержка нескольких форматов вывода и т.д.

DocxFactory — зрелая, бесплатная кроссплатформенная библиотека C/C++ (с обёртками для нескольких языков), упрощающая работу с файлами Microsoft Word .docx. Библиотека кроссплатформенная и плавно работает на основных операционных системах (Windows, UNIX/Linux) — обеспечивая гибкость развертывания на серверах, настольных компьютерах или встраиваемых системах. Библиотека лицензирована по лицензии Apache 2.0, что делает её полностью бесплатной как для частного, так и для коммерческого использования без ограничений функциональности или временных ограничений. Независимо от того, создаёте ли вы корпоративные системы отчётности, автоматизированные рабочие процессы с документами или простые приложения для слияния писем, DocxFactory предоставляет инструменты, необходимые для эффективного создания профессиональных документов.

Previous Next

Начало работы с DocxFactory

Рекомендуемый способ установки DocxFactory — через GitHub. Пожалуйста, используйте следующую команду для быстрой установки.

Установить DocxFactory через GitHub

git clone https://github.com/DocxFactory/DocxFactory.git  
You can also download it directly from Aspose product page.

Создание документов на основе шаблонов с помощью C++

Основная философия DocxFactory заключается в простоте. Вместо программного построения документов элемент за элементом, вы создаёте шаблон в Microsoft Word — обычный DOCX‑файл с заполнителями — и объединяете в него свои данные. Такой подход даёт несколько преимуществ, таких как более быстрая разработка, WYSIWYG‑редактирование и т.д. Ниже приведён полезный пример, показывающий, как с помощью библиотеки C++ генерировать новые документы Word из шаблона.

Как создать новый документ из шаблона с помощью библиотеки C++?

#include "DocxFactory/DocxMerger/DocxMerger.h"
#include "DocxFactory/DocxMerger/DocxMergerItem.h"

// Create a new document from template
DocxFactory::DocxMerger docxMerger;
DocxFactory::DocxMergerItem* item = docxMerger.load("template.docx");

// Set field values
item->setFieldValue("customer.name", "John Smith");
item->setFieldValue("invoice.date", "2024-01-15");
item->setFieldValue("invoice.total", 1250.75);

// Save generated document
docxMerger.save("generated_invoice.docx");

Широкая поддержка штрих‑кодов в DOCX

Открытая библиотека DocxFactory поддерживает широкий спектр 1D и 2D штрих‑кодов, включая Code39, Code128, EAN, UPC, ISBN, Databar, почтовые коды, PDF417, Data Matrix, QR‑code и Maxi Code. Штрих‑коды вставляются в шаблоны как поля и автоматически рендерятся на основе предоставленных данных. Это делает их идеальными для систем управления запасами, приложений доставки и логистики, решений по маркировке продукции, систем отслеживания документов, интеграции точек продаж в розничной торговле и т.д.

Добавление и управление диаграммами в файлах Word через C++

Библиотека DocxFactory может динамически заполнять данные диаграмм, позволяя создавать визуализации, основанные на данных. Диаграммы, определённые в вашем шаблоне, могут программно обновлять свои серии данных, что делает возможным создание исполнительных панелей и аналитических отчётов. Библиотека включает поддержку полного списка более чем 70 типов диаграмм, доступных в Microsoft Word, включая столбчатые, линейные, круговые, гистограммы, областные, точечные, акции, поверхностные, кольцевые, пузырьковые, радарные и т.д. Эта функция позволяет создавать динамические финансовые отчёты с визуализацией данных в реальном времени, документы статистического анализа, бизнес‑интеллект панели, научные исследовательские отчёты, документацию по отслеживанию производительности и т.д.

Продвинутое форматирование и стилизация в файлах DOCX

Открытая библиотека DocxFactory сохраняет нативное форматирование Word, одновременно динамически изменяя стили внутри C++‑приложений. Библиотека поддерживает различные функции форматирования, такие как стили шрифтов, размеры и цвета, выравнивание и отступы абзацев, таблицы с пользовательскими границами, заголовки и нижние колонтитулы, нумерацию страниц и разрывы секций, пользовательские стили и темы и т.д. Сгенерированный документ сохраняет всё форматирование из шаблона, обеспечивая согласованность бренда и профессиональный вид. Ниже приведён пример кода, показывающий, как разработчики могут применять условное форматирование на основе данных в C++‑приложениях.

Как применить продвинутое форматирование и стилизацию в документах Word через библиотеку C++?



// Advanced Conditional formatting based on data

item->setFieldValue("status.text", "OVERDUE");
item->setFieldValue("status.color", "#FF0000"); // Red color for overdue

// Dynamic table row formatting
for (size_t i = 0; i < invoiceItems.size(); i++) {
    if (i % 2 == 0) {
        item->setFieldValue("items.rowColor", "#F5F5F5");
    }
}
 Русский