Презентации Open source / MIT

PptxGenJS

JavaScript-библиотека для создания редактируемых PPTX из данных: текст, таблицы, графики, изображения и медиа. Не AI-модель и не визуальный редактор.

Библиотека JavaScript, не нейросетьСоздать первый PPTX

Минимальный пример: создаём PPTX

Установите поддерживаемую LTS-версию Node.js. В новом PowerShell проверьте версии: обе команды должны вывести номер.

PowerShell
node --version
npm --version

Создайте новую папку и установите библиотеку:

PowerShell
mkdir pptx-demo
cd pptx-demo
npm init -y
npm install pptxgenjs

Создайте файл demo.mjs и вставьте код:

JavaScript
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' });
PowerShell
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: Да
  • Данные: Высокий контроль
  • Чувствительные данные: Только с настройками
API Файлы Изображения Аудио Видео Код Node.js React Vite Angular Electron Browser Serverless Сервер Браузер Self-hosted

Сильные стороны

  • Создаёт редактируемый 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 canva gamma marp officegen

Если презентация нужна один раз и у вас нет разработчика, начните с ручного редактора. Google Slides API можно рассмотреть для интеграции с презентациями в Google Workspace. Выбор зависит от того, нужен ли локальный PPTX-файл или документ в облаке.

Параметры для подборок

open-source API works-in-russia self-hosted presentations pptx-generation reports proposal-generation document-automation ai-agents Для разработчиков Бизнес sales analytics Операции open-source-ai-tools Для бизнеса Инструменты разработчика

FAQ

PptxGenJS сама пишет текст с помощью AI?

Нет. Она размещает переданные ей данные на слайдах. Модель, проверку её ответа и правила оформления нужно подключать отдельно.

Нужны ли подписка и API-ключ?

Для примера на этой странице нет. Нужен Node.js и установленный npm-пакет. Подписки внешних AI-сервисов не являются частью PptxGenJS.

Можно ли изменить текст после генерации?

Да, текстовые элементы создаются редактируемыми. Если вместо текста вы вставили изображение, редактировать буквы внутри него как обычный текст нельзя.

Почему текст не помещается на слайде?

В коде задана ограниченная область. Сократите текст, измените размеры блока или разнесите материал на несколько слайдов. Проверяйте файл с реальными длинными заголовками, а не только коротким примером.

Поддержка видео означает, что библиотека генерирует ролики?

Нет. Она вставляет медиа в презентацию. Совместимость воспроизведения зависит от формата файла, кодеков и версии редактора.

Лучше всего подходит

Типовые задачи

Регулярные PPTX-отчёты из таблиц и баз данных Коммерческие предложения по заданному шаблону Серверный экспорт слайдов из веб-приложения Сборка проверенных текстов AI-модели в редактируемую презентацию

Упоминания

Статьи, где встречается PptxGenJS