TGViewer
_rnd _rnd @rmr_rnd · 2.39K subscribers
Post #345 2.02K
#️⃣ HTML → PPTX → Keynote. Или как нормально редактировать AI-презентации

Всё чаще к нашим дизайнерам попадают слайды, сгенерированные AI. Обычно это HTML, который нужно превратить в редактируемую презентацию и доработать.

Мы посмотрели, как сегодня работают Claude Design, NotebookLM и другие инструменты, протестировали разные подходы и собрали пайплайн, который позволяет сохранить структуру слайда при конвертации.

Генерация

Вместо генерации «с нуля» мы даём модели брендбук, примеры слайдов и библиотеку HTML-компонентов — готовых карточек, таблиц, диаграмм, колонок, заголовков и других элементов.

Модель не придумывает новую вёрстку, а собирает слайд из этих «кирпичиков», сохраняя сетку и визуальную логику бренда. По нашим наблюдениям, лучше всего с такой задачей сейчас справляется Claude Opus.

Конвертация

Сам HTML дизайнерам не помогает — его нужно открыть в Keynote или PowerPoint и продолжить редактировать.

Ребята протестировали несколько готовых HTML → PPTX-конвертеров. Почти везде повторяются одни и те же проблемы: съезжают отступы, меняются переносы текста, пропадают скругления, нарушается порядок слоёв.

Из open source сервисов ближе всех к идеалу оказался html2pptx, но и его результат не всегда предсказуем.

Мы пошли другим путём

• открываем HTML в headless Chromium — в Python, например, playwright;
• забираем реальные координаты, размеры и computed styles элементов;
• раскладываем слайд на типы объектов: текст, формы, картинки, декоративные слои;
• собираем PPTX из редактируемых объектов;
• растрируем только то, что нельзя нормально выразить в OOXML.

Так в растр уходят только сложные SVG и визуальные эффекты, всё остальное остаётся редактируемым.

Самые мутные случаи

🟥 border-radius
Pill-кнопка не должна превращаться в эллипс. Таблетка, круг и скруглённый прямоугольник — это разные формы, и их нужно различать.

🟥 z-index
Слои нельзя сортировать только по числу z-index. Важен stacking context, порядок рендеринга и последовательность отрисовки элементов.

🟥 SVG и фильтры
Их лучше растрировать локально, а не превращать весь слайд в картинку.

🟥 текст
Chromium и Keynote по-разному рассчитывают переносы строк. Поэтому приходится контролировать line-height, paragraph spacing и ширину текстовых блоков.

🟥 шрифты
Просто положить TTF в PPTX недостаточно. Нужны явные line-height, paragraph spacing и небольшой запас по ширине текста.

Keynote ≠ PowerPoint

PowerPoint часто прощает то, что Keynote интерпретирует иначе: интервалы, порядок XML-элементов, язык текста, fallback-шрифты.

Поэтому лучше целиться не просто в «валидный PPTX», а в PPTX, который стабильно импортируется в Keynote.

В итоге всё работает: модель собирает черновик, конвертер сохраняет структуру, дизайнер финализирует результат. 😊

Автор этого поста, собственно и разработчик конвертера, Миша Мартьянов — NLP-инженер в R&D red_mad_robot.
  • 👍 20
  • 🔥 7
  • ❤ 5
More from @rmr_rnd
  1. Sep 21, 2026⚡️ PII Guard: невошедшее Недавно мы поделились в статье, как строили систему маскировки да…
  2. Sep 18, 2026😍 Как получить доступ ко всем LLM через единый API Мы запустили red_mad_router — единую т…
  3. Sep 14, 2026😍 Пакман и разработка: выбираем агентов при помощи DDQN При построении MAS перед разработ…
  4. Sep 9, 2026#️⃣ Как LLM работать с замаскированными данными? Маскировка персональных данных — совершен…
  5. Sep 4, 2026😊 Расследуем инциденты при помощи Telegram-бота Прикрутить бота к инфраструктуре, чтобы о…
  6. Aug 25, 2026#️⃣ Как AI-агенты поменяли разработку Делимся новой статьёй — в ней наш CTO по AI Влад Шев…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →