C++ SDK как оболочка для API GroupDocs.Assembly Cloud. Создавайте настраиваемые отчёты, контракты, счета и многое другое непосредственно из приложений C++.
Начать бесплатную пробную версиюGroupDocs.Assembly Cloud SDK для C++ предоставляет высокоуровневую кроссплатформенную оболочку для REST API Assembly Cloud, позволяя разработчикам создавать документы с богатым форматированием непосредственно из своих приложений C++. Решение построено на основе шаблонов — документов, содержащих специальные поля-заполнители и правила генерации, — в сочетании с источниками данных (XML или JSON). Отправляя шаблон и данные в облако, сервис собирает конечный результат в нужном формате (DOCX, PDF, HTML и т. д.) и мгновенно возвращает его.
Зачем использовать Assembly Cloud?
Типичный рабочий процесс на C++
Настройте SDK, используя идентификатор SID и ключ приложения.
Загрузите шаблон (например, InvoiceTemplate.docx) в облачное хранилище GroupDocs, используя конечную точку UploadFile.
Подготовьте параметры сборки, указав путь к шаблону, источник данных (invoice.json или invoice.xml) и желаемый формат вывода. 4. Вызовите API AssembleDocument — сервис объединяет данные с шаблоном, оценивает все выражения и возвращает собранный документ.
Загрузите результат непосредственно из ответа API или через API хранилища для дальнейшей обработки.
Этот подход позволяет создавать сложные многостраничные отчеты, персонализированные письма (Mail Merge), счета-фактуры, контракты и любые документы, сочетающие статический контент с динамическими данными. Поскольку SDK имеет небольшой размер и работает на любой ОС, поддерживающей C++11 и cURL, вы можете интегрировать его в настольные приложения, серверные службы или контейнерные микросервисы с минимальными усилиями.
В примере ниже показан типичный рабочий процесс: настройка SDK, загрузка шаблона, настройка параметров сборки и вызов конечной точки Assemble для получения сгенерированного документа.
Шаги:
Input1.docx) в облачное хранилище GroupDocs.TemplateFileInfo, указывающий на загруженный шаблон.docx) и укажите источник данных (Input2.json).assembleDocument для генерации итогового документа.используя пространство имен groupdocs::assembly;
используя пространство имен 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);
assembleApi->assembleDocument(request);