C++ SDK в виде оболочки для GroupDocs.Assembly Cloud API. Создавайте высоко кастомизированные отчеты, контракты, счета и многое другое непосредственно из ваших C++ приложений.
Начать бесплатную пробную версиюGroupDocs.Assembly Cloud SDK для C++ предоставляет высокоуровневую, кроссплатформенную оболочку вокруг Assembly Cloud REST API, позволяя разработчикам генерировать насыщенно форматированные документы непосредственно из своих C++ приложений. Решение строится на основе шаблонов — документов, которые содержат специальные плейсхолдеры и правила генерации — в сочетании с источниками данных (XML или JSON). Отправляя шаблон и данные в облако, сервис собирает конечный результат в нужном формате (DOCX, PDF, HTML и др.) и возвращает его мгновенно.
Почему стоит использовать Assembly Cloud?
Типичный рабочий процесс в C++
InvoiceTemplate.docx) в GroupDocs Cloud Storage с помощью эндпоинта UploadFile.invoice.json или invoice.xml) и желаемый формат вывода.Такой подход позволяет создавать сложные, многостраничные отчеты, персонализированные письма (Mail Merge), счета, контракты и любые документы, совмещающие статическое содержимое с динамическими данными. Поскольку SDK легковесный и работает на любой ОС с поддержкой C++11 и cURL, вы можете интегрировать его в настольные приложения, серверные сервисы или контейнеризованные микросервисы с минимальными усилиями.
Ниже приведен пример типового рабочего процесса: настройка SDK, загрузка шаблона, установка параметров сборки и вызов Assemble для получения сформированного документа.
Шаги:
Input1.docx) в GroupDocs Cloud Storage.TemplateFileInfo, указывающий на загруженный шаблон.docx) и укажите источник данных (Input2.json).assembleDocument для генерации итогового документа.using namespace groupdocs::assembly;
using namespace groupdocs::assembly::cloud::api;
// 1. Настройка SDK с вашими учетными данными
auto config = std::make_shared<Configuration>(L"####################", L"####################");
auto assemblyApi = std::make_shared<AssemblyApi>(config);
// 2. Загрузка файла шаблона
auto fileName = L"Input1.docx";
auto requestFileContent = std::shared_ptr<std::istream>(
new std::ifstream(std::filesystem::path(fileName), std::istream::binary));
std::shared_ptr<UploadFileRequest> uploadDocumentRequest(
new UploadFileRequest(requestFileContent, std::make_shared<std::wstring>(fileName)));
assemblyApi->uploadFile(uploadDocumentRequest);
// 3. Подготовка параметров сборки
auto fileInfo = std::make_shared<TemplateFileInfo>();
fileInfo->setFilePath(fileName);
auto assembleOptions = std::make_shared<AssembleOptions>();
assembleOptions->setSaveFormat("docx");
assembleOptions->setReportData(std::filesystem::path(L"Input2.json")); // источник данных
assembleOptions->setTemplateFileInfo(fileInfo);
// 4. Сборка документа
auto request = std::make_shared<AssembleDocumentRequest>(assembleOptions);
assemblyApi->assembleDocument(request);