Prezentable: ИИ-плагин для редактирования презентаций PowerPoint

ИИ-плагин для PowerPoint с интеграцией LLM для анализа структуры презентаций, улучшения текста и безопасного применения изменений под контролем пользователя.

О клиенте

Наш клиент стремился оптимизировать процесс подготовки и редактирования презентаций PowerPoint. Ранее пользователям приходилось вручную корректировать текст на отдельных слайдах и проверять его соответствие шаблону презентации.

Для повышения эффективности работы требовалось интегрировать ИИ-помощника непосредственно в PowerPoint, сохранив полный контроль пользователя над редактированием. Решение должно было улучшать формулировки, грамматику и читаемость текста без изменения макетов слайдов и внесения несанкционированных правок.

  • Платформа: Microsoft PowerPoint
  • Отрасль: ПО для повышения продуктивности, ИИ
  • Тип приложения: настольный плагин для Microsoft Office

Задача проекта

Решение должно было обеспечить работу ИИ непосредственно в PowerPoint с учетом особенностей архитектуры Office и требований к безопасности. Таким образом, основные задачи включали:

  • Интеграцию плагина в PowerPoint с использованием VSTO и COM Interop.
  • Анализ структуры презентации и подготовку компактного набора данных для ИИ без передачи исходного файла .pptx.
  • Интеграцию LLM для улучшения формулировок, грамматики и ясности текста.
  • Сохранение удобства использования интерфейса во время ИИ-запросов.
  • Предварительный просмотр предлагаемых изменений и обязательное подтверждение перед применением.
  • Ограничение редактирования существующими текстовыми элементами слайдов без изменения их структуры и макетов.
  • Защиту API-ключей и содержимого презентации от ненужного раскрытия.
  • Поддержку нескольких поставщиков LLM и настраиваемых API-адресов.
  • Создание современного интерфейса на WPF с темами оформления и переключением языков.
  • Автоматизированное тестирование ключевой логики анализа презентаций и подготовки запросов к ИИ.

Решение

Инженеры СКЭНД разработали Prezentable — VSTO-плагин для Microsoft PowerPoint на базе C# и .NET Framework 4.8, который обеспечивал интеллектуальное редактирование презентаций с помощью ИИ.

Для взаимодействия с PowerPoint использовался COM Interop, пользовательский интерфейс был реализован на WPF, а обработка текста выполнялась через API, совместимый с OpenAI.

Вместо передачи исходного файла презентации плагин извлекал необходимые данные и формировал структурированный объект PresentationSnapshot, который передавался языковой модели. На его основе ИИ генерировал структурированный набор текстовых правок.

Пользователи могли просматривать предложенные изменения, корректировать их и подтверждать применение, сохраняя полный контроль над редактированием презентации.

Основные возможности плагина

  • Интеграция с PowerPoint: Отдельная вкладка Prezentable и встроенная боковая панель на базе VSTO.
  • Анализ презентаций: Извлечение текста, структуры слайдов, параметров оформления и данных о фигурах, включая сгруппированные объекты.
  • ИИ-редактирование текста: Улучшение формулировок, грамматики и читаемости с сохранением исходного языка и смысла.
  • Контролируемое применение изменений: Предварительный просмотр и редактирование предложенных правок с подтверждением пользователя; изменение только существующих текстовых элементов без вмешательства в макеты слайдов.
  • Асинхронная обработка запросов: Сохранение отзывчивости PowerPoint, поддержка отмены запросов и повторных попыток.
  • Безопасность и интеграция с LLM: Защита API-ключей с помощью Windows DPAPI, поддержка переменных окружения и подключение различных провайдеров, включая OpenAI, Gemini, Mistral и Ollama.
  • Современный интерфейс и локализация: WPF, MahApps.Metro и Caliburn.Micro, светлая и темная темы, 18 акцентных цветов и переключение между английским и русским языками.
  • Автоматизированное тестирование: Проверка логики анализа презентаций, формирования запросов и обработки данных без установленного PowerPoint.

Технологический стек

Для реализации Prezentable команда СКЭНД подобрала технологический стек, обеспечивающий интеграцию с Microsoft PowerPoint, безопасное взаимодействие с языковыми моделями, стабильную обработку запросов и удобный пользовательский интерфейс.

  • Основные технологии: C#, .NET Framework 4.8, VSTO, Visual Studio, MSBuild.
  • Интеграция с PowerPoint: COM Interop, Microsoft.Office.Core, Ribbon XML, Custom Task Panes.
  • Пользовательский интерфейс: WPF, MahApps.Metro 2.4, Caliburn.Micro, WinForms ElementHost.
  • Интеграция с ИИ: OpenAI-compatible API, z.ai GLM-4.7-Flash, различные LLM-провайдеры и пользовательские API-эндпоинты.
  • Обработка запросов: HttpClient, Task.Run, CancellationToken, тайм-ауты, повторные запросы и защита от устаревших ответов.
  • Обработка презентаций: PresentationSnapshot, JSON, Open XML SDK, PowerPoint COM Interop.
  • Обработка правок ИИ: PromptBuilder, PatchParser, AiPatch, PatchApplier.
  • Безопасность и управление ресурсами: Windows DPAPI, переменные окружения, ComScope, Marshal.ReleaseComObject.
  • Тестирование: Prezentable.Tests, автоматизированные модульные тесты и проверка обработки данных Open XML.

Результаты

СКЭНД создала решение, которое позволяет улучшать текст презентаций непосредственно в PowerPoint, сохраняя контроль пользователя над каждой правкой, предложенной ИИ.

Ключевым результатом стала реализация контролируемого процесса «Извлечение данных → ИИ-обработка → Применение изменений». Плагин передает модели структурированные сведения, а не исходный файл презентации, и ограничивает изменения существующими текстовыми элементами.

Дополнительно решение обеспечивает:

  • Контроль над изменениями: Ни одна ИИ-правка не применяется без предварительного просмотра и подтверждения пользователя.
  • Стабильную работу PowerPoint: Асинхронная обработка запросов позволяет не блокировать интерфейс во время взаимодействия с языковой моделью.
  • Повышенную безопасность: Защита API-ключей с помощью DPAPI и поддержка переменных окружения.
  • Улучшенное управление ресурсами: Централизованное управление COM-объектами помогает снизить риск утечек памяти и проблем при завершении работы приложения.
  • Гибкость интеграции: Поддержка нескольких LLM-провайдеров и пользовательских API-адресов.
  • Удобство использования: Современный интерфейс с темами оформления и локализацией на английский и русский языки.
  • Автоматизированное тестирование: Проверка логики анализа, формирования запросов и обработки данных Open XML без необходимости устанавливать PowerPoint.

Нуждаетесь в разработке похожего проекта?

Свяжитесь с нами

Мы любим новые проекты! Напишите нам, и мы ответим вам в ближайшее время.

Спасибо, что написали нам! Ваше сообщение было успешно отправлено. Мы обязательно ответим на него в ближайшее время. Пожалуйста, проверьте, получили ли Вы от нас письмо-подтверждение на указанную Вами почту.