Минимальный пример: создаём PPTX
Установите поддерживаемую LTS-версию Node.js. В новом PowerShell проверьте версии: обе команды должны вывести номер.
node --version
npm --version
Создайте новую папку и установите библиотеку:
mkdir pptx-demo
cd pptx-demo
npm init -y
npm install pptxgenjs
Создайте файл demo.mjs и вставьте код:
import pptxgen from 'pptxgenjs';
const pptx = new pptxgen();
pptx.layout = 'LAYOUT_WIDE';
pptx.author = 'ezGPT';
const slide = pptx.addSlide();
slide.background = { color: '141414' };
slide.addText('Мой первый отчёт', { x: 0.7, y: 1, w: 11.8, h: 0.8, fontSize: 32, color: 'FFFFFF' });
slide.addText('Выручка: 3 000 рублей', { x: 0.7, y: 2.2, w: 11.8, h: 0.6, fontSize: 22, color: 'FFD11A' });
await pptx.writeFile({ fileName: 'report.pptx' });
node demo.mjs
В папке появится report.pptx. Откройте его в PowerPoint или LibreOffice Impress: на одном слайде должны быть заголовок и сумма. Текст остаётся редактируемым. Для этого примера не нужны API-ключ, подписка или AI-модель.
Измените сумму в demo.mjs, снова выполните node demo.mjs и откройте обновлённый файл. Так можно проверить, что презентация действительно собирается из ваших данных. Перед повторным запуском закройте файл в редакторе.
Если команда npm не найдена, закройте PowerShell и откройте его после установки Node.js. Если не найден пакет pptxgenjs, проверьте, что запускаете пример из папки pptx-demo, где выполняли установку. Если файл занят, закройте PowerPoint и повторите запуск.
Что это
PptxGenJS создаёт файлы PowerPoint из JavaScript. Вместо ручного переноса чисел в слайды вы задаёте текст, таблицы, графики и координаты элементов в коде, а библиотека записывает PPTX. Для генерации не нужен установленный PowerPoint; открыть и проверить результат нужно в совместимом редакторе.
Это инструмент для разработчика, а не нейросеть. В AI-сценарии модель может подготовить структуру презентации и текст, а программа проверяет данные и собирает слайды по заранее заданному шаблону. Библиотека сама не проверяет факты и не выбирает хороший дизайн.
Подходит для повторяемых отчётов и коммерческих предложений, где структура почти не меняется, а числа и текст поступают из таблицы, CRM или API. Для одной презентации без программирования обычный редактор зачастую проще. Минимальный пример ниже создаёт один редактируемый слайд; его можно запустить без модели и API-ключа.
Ключевые параметры
- Категория: Презентации
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Высокий контроль
- Чувствительные данные: Только с настройками
Сильные стороны
- Создаёт редактируемый PPTX, а не только изображения слайдов
- Поддерживает текст, таблицы, графики, изображения и вставку аудио/видео
- Позволяет повторно использовать заранее заданный шаблон
- Для генерации не требуется PowerPoint на сервере
Ограничения
- Нужны JavaScript и настройка расположения элементов
- Нет встроенной нейросети и проверки фактов
- Длинный текст и неподходящие шрифты могут испортить вёрстку
- Аудио и видео означают вставку медиа, а не их AI-генерацию; воспроизведение зависит от формата и редактора
- Совместимость нужно проверять в редакторах, которыми пользуется ваша аудитория
Как использовать
1. Установите Node.js LTS и проверьте node --version и npm --version.
2. В новой папке выполните npm init -y и npm install pptxgenjs.
3. Создайте demo.mjs из минимального примера на этой странице.
4. Выполните node demo.mjs: должен появиться report.pptx.
5. Откройте файл и проверьте, что текст можно редактировать и он помещается на слайде.
6. Только после этого подключайте свои данные или AI-текст; перед отправкой проверяйте числа, переносы и источники.
Примеры сценариев
- Скрипт каждую неделю превращает проверенные показатели продаж в презентацию с одинаковой структурой.
- AI готовит черновик коммерческого предложения, человек проверяет факты, после чего программа создаёт PPTX по шаблону.
- Внутреннее приложение собирает презентацию из выбранных пользователем данных, не используя модель.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Пробный доступ: Нет
- Работа в РФ: Да
- VPN: Не нужен
- Русский интерфейс: Нет
- Русский язык: Не известно
Это бесплатная библиотека под MIT, устанавливаемая через npm, а не облачный сервис с тарифами и аккаунтом. Для минимального примера не нужны платёжная карта или ключ AI. Внешние модели, хостинг и другие интеграции оплачиваются и проверяются отдельно.
Когда не подходит
- командам без разработчика, которым нужен визуальный редактор с готовыми шаблонами
- задачам, где дизайн слайдов каждый раз должен свободно придумывать дизайнер
- сложной верстке HTML/CSS один-в-один: PPTX устроен иначе, чем веб-страница
- полной замене PowerPoint или Google Slides как редактора презентаций
Альтернативы
Если презентация нужна один раз и у вас нет разработчика, начните с ручного редактора. Google Slides API можно рассмотреть для интеграции с презентациями в Google Workspace. Выбор зависит от того, нужен ли локальный PPTX-файл или документ в облаке.