mcpField
P
pptx-posters

pptx-posters

github.com/crazymsn文档处理2337 次安装22 周前更新
代码仓库

关于 pptx-posters

pptx-posters 是一项通过 HTML/CSS 制作学术海报并导出 PDF 或转换为 PowerPoint 的技能,仅适用于明确要求 PPTX 或 HTML 海报格式的场景。它提供海报模板、视觉素材整合及版面检查流程。

主要功能

  1. 01使用 HTML/CSS 排版海报
  2. 02提供 36×48 英寸模板
  3. 03整合生成的图像素材
  4. 04通过浏览器打印导出 PDF
  5. 05检查内容溢出与图形可读性

适用场景

  1. 01制作需要在 PowerPoint 中编辑的海报
  2. 02将 HTML 海报导出为 PDF
  3. 03为学术会议整理研究内容与图表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymsn/academic-skills --skill pptx-posters

安装后在 Claude Code 中输入/pptx-posters确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
poster_html_template.html
poster_quality_checklist.md
references/
poster_content_guide.md
poster_design_principles.md
poster_layout_design.md
scripts/
generate_schematic_ai.py
generate_schematic.py

详细介绍

PPTX 研究海报(基于 HTML)

概述

⚠️ 仅当用户明确要求 PPTX/POWERPOINT 海报格式时,才使用此技能。

对于标准研究海报,请改用 latex-posters 技能,它能提供更好的排版控制,也是学术会议的默认选择。

此技能使用 HTML/CSS 创建研究海报,之后可导出为 PDF 或转换为 PowerPoint 格式。基于 Web 的方法具有以下优势:

  • 现代、响应式布局
  • 轻松集成 AI 生成的视觉内容
  • 可在浏览器中快速迭代和预览
  • 通过浏览器打印功能导出为 PDF
  • 如有需要,可转换为 PPTX

何时使用此技能

仅在以下情况下使用此技能:

  • 用户明确要求“PPTX 海报”“PowerPoint 海报”或“PPT 海报”
  • 用户特别要求制作基于 HTML 的海报
  • 用户需要在海报制作完成后使用 PowerPoint 编辑
  • 无法使用 LaTeX,或用户要求非 LaTeX 方案

以下情况下不要使用此技能:

  • 用户只说“海报”,未指定格式 → 使用 latex-posters
  • 用户说“研究海报”或“会议海报” → 使用 latex-posters
  • 用户提到 LaTeX、tikzposter、beamerposter 或 baposter → 使用 latex-posters

AI 驱动的视觉元素生成

标准工作流:使用 AI 生成所有主要视觉元素,然后再创建 HTML 海报。

这是制作视觉效果出色海报的推荐方法:

  1. 规划所有所需的视觉元素(主图、引言、方法、结果、结论)
  2. 使用 scientific-schematics 或 Nano Banana Pro 生成各个元素
  3. 将生成的图像整合到 HTML 模板中
  4. 在视觉内容周围添加文本

目标:海报区域的 60-70% 应为 AI 生成的视觉内容,30-40% 为文本。


关键:海报字号要求

⚠️ AI 生成的可视化内容中,所有文字都必须达到海报可读标准。

为海报生成图形时,每个提示词中都必须包含字号规格。海报的观看距离为 4-6 英尺,因此文字必须足够大。

每个海报图形的提示词必须满足以下要求:

POSTER FORMAT REQUIREMENTS (STRICTLY ENFORCE):
- ABSOLUTE MAXIMUM 3-4 elements per graphic (3 is ideal)
- ABSOLUTE MAXIMUM 10 words total in the entire graphic
- NO complex workflows with 5+ steps (split into 2-3 simple graphics instead)
- NO multi-level nested diagrams (flatten to single level)
- NO case studies with multiple sub-sections (one key point per case)
- ALL text GIANT BOLD (80pt+ for labels, 120pt+ for key numbers)
- High contrast ONLY (dark on white OR white on dark, NO gradients with text)
- MANDATORY 50% white space minimum (half the graphic should be empty)
- Thick lines only (5px+ minimum), large icons (200px+ minimum)
- ONE SINGLE MESSAGE per graphic (not 3 related messages)

⚠️ 生成前:检查提示词并统计元素数量

  • 如果描述包含 5 个或更多项目 → 停下。拆分为多个图形
  • 如果工作流包含 5 个或更多阶段 → 停下。仅展示 3-4 个高层级步骤
  • 如果对比包含 4 种或更多方法 → 停下。仅展示排名前三的方法,或对比我们的方法与最佳基线

示例 — 错误(7 阶段工作流):

# ❌ Creates tiny unreadable text
python scripts/generate_schematic.py "Drug discovery workflow: Stage 1 Target ID, Stage 2 Synthesis, Stage 3 Screening, Stage 4 Lead Opt, Stage 5 Validation, Stage 6 Clinical Trial, Stage 7 FDA Approval with metrics." -o figures/workflow.png

示例 — 正确(3 个大型阶段):

# ✅ Same content, simplified to readable poster format
python scripts/generate_schematic.py "POSTER FORMAT for A0. ULTRA-SIMPLE 3-box workflow: 'DISCOVER' → 'VALIDATE' → 'APPROVE'. Each word in GIANT bold (120pt+). Thick arrows (10px). 60% white space. ONLY these 3 words. NO substeps. Readable from 12 feet." -o figures/workflow_simple.png

关键:防止内容溢出

⚠️ 海报边缘不得截断文字或内容。

预防规则:

1. 限制内容区块(最多 5-6 个区块):

✅ GOOD - 5 sections with room to breathe:
   - Title/Header
   - Introduction/Problem
   - Methods
   - Results (1-2 key findings)
   - Conclusions

❌ BAD - 8+ sections crammed together

2. 字数限制:

  • 每个区块:最多 50-100 个词
  • 整张海报:最多 300-800 个词
  • 如果内容更多:删减内容,或制作讲义

核心功能

1. HTML/CSS 海报设计

HTML 模板(assets/poster_html_template.html)提供:

  • 固定海报尺寸(36×48 英寸 = 2592×3456 pt)
  • 带渐变样式的专业页眉
  • 三栏内容布局
  • 采用现代样式的区块式内容
  • 包含参考文献和联系信息的页脚
2. 海报结构

标准布局:

┌─────────────────────────────────────────┐
│  HEADER: Title, Authors, Hero Image     │
├─────────────┬─────────────┬─────────────┤
│ Introduction│   Results   │  Discussion │
│             │             │             │
│   Methods   │   (charts)  │ Conclusions │
│             │             │             │
│  (diagram)  │   (data)    │   (summary) │
├─────────────┴─────────────┴─────────────┤
│  FOOTER: References & Contact Info      │
└─────────────────────────────────────────┘
3. 视觉内容整合

每个区块都应醒目地展示 AI 生成的视觉内容:

主图(页眉):

<img src="figures/hero.png" class="hero-image">

区块图示:

<div class="block">
  <h2 class="block-title">Methods</h2>
  <div class="block-content">
    <img src="figures/workflow.png" class="block-image">
    <ul>
      <li>Brief methodology point</li>
    </ul>
  </div>
</div>
4. 生成视觉元素

创建 HTML 前,生成所有视觉元素:

# Create figures directory
mkdir -p figures

# Hero image - SIMPLE, impactful
python scripts/generate_schematic.py "POSTER FORMAT for A0. Hero banner: '[TOPIC]' in HUGE text (120pt+). Dark blue gradient background. ONE iconic visual. Minimal text. Readable from 15 feet." -o figures/hero.png

# Introduction visual - ONLY 3 elements
python scripts/generate_schematic.py "POSTER FORMAT for A0. SIMPLE visual with ONLY 3 icons: [icon1] → [icon2] → [icon3]. ONE word labels (80pt+). 50% white space. Readable from 8 feet." -o figures/intro.png

# Methods flowchart - ONLY 4 steps
python scripts/generate_schematic.py "POSTER FORMAT for A0. SIMPLE flowchart with ONLY 4 boxes: STEP1 → STEP2 → STEP3 → STEP4. GIANT labels (100pt+). Thick arrows. 50% white space. NO sub-steps." -o figures/workflow.png

# Results visualization - ONLY 3 bars
python scripts/generate_schematic.py "POSTER FORMAT for A0. SIMPLE bar chart with ONLY 3 bars: BASELINE (70%), EXISTING (85%), OURS (95%). GIANT percentages ON bars (120pt+). NO axis, NO legend. 50% white space." -o figures/results.png

# Conclusions - EXACTLY 3 key findings
python scripts/generate_schematic.py "POSTER FORMAT for A0. EXACTLY 3 cards: '95%' (150pt) 'ACCURACY' (60pt), '2X' (150pt) 'FASTER' (60pt), checkmark 'READY' (60pt). 50% white space. NO other text." -o figures/conclusions.png

PPTX 海报制作工作流

阶段 1:规划
  1. 确认用户明确要求 PPTX
  2. 确定海报要求:
    • 尺寸:36×48 英寸(最常见)或 A0
    • 方向:纵向(最常见)
  3. 拟定内容大纲:
    • 确定 1-3 条核心信息
    • 规划 3-5 个视觉元素
    • 起草精简文本(共 300-800 个词)
阶段 2:生成视觉元素(AI 驱动)

重要:生成简单的图形,内容尽可能精简。

mkdir -p figures

# Generate each element with POSTER FORMAT specifications
# (See examples in Section 4 above)
阶段 3:创建 HTML 海报
  1. 复制模板:

    cp skills/pptx-posters/assets/poster_html_template.html poster.html
    
  2. 更新内容:

    • 替换占位标题和作者
    • 插入 AI 生成的图像
    • 添加少量辅助文字
    • 更新参考文献和联系信息
  3. 在浏览器中预览:

    open poster.html  # macOS
    # or
    xdg-open poster.html  # Linux
    
阶段 4:导出为 PDF

浏览器打印方法:

  1. 在 Chrome 或 Firefox 中打开 poster.html
  2. 打印(Cmd/Ctrl + P)
  3. 选择“另存为 PDF”
  4. 设置与海报尺寸相符的纸张大小
  5. 移除页边距
  6. 启用“背景图形”

命令行(如果有 Chrome):

# Chrome headless PDF export
google-chrome --headless --print-to-pdf=poster.pdf \
  --print-to-pdf-no-header \
  --no-margins \
  poster.html
阶段 5:转换为 PPTX(如有需要)

选项 1:将 PDF 转换为 PPTX

# Using LibreOffice
libreoffice --headless --convert-to pptx poster.pdf

# Or use online converters for simple cases

选项 2:使用 python-pptx 直接创建 PPTX

from pptx import Presentation
from pptx.util import Inches, Pt

prs = Presentation()
prs.slide_width = Inches(48)
prs.slide_height = Inches(36)

slide = prs.slides.add_slide(prs.slide_layouts[6])  # Blank

# Add images from figures/
slide.shapes.add_picture("figures/hero.png", Inches(0), Inches(0), width=Inches(48))
# ... add other elements

prs.save("poster.pptx")

HTML 模板结构

提供的模板(assets/poster_html_template.html)包含:

可自定义的 CSS 变量
/* Poster dimensions */
body {
  width: 2592pt;   /* 36 inches */
  height: 3456pt;  /* 48 inches */
}

/* Color scheme - customize these */
.header {
  background: linear-gradient(135deg, #1a365d 0%, #2b6cb0 50%, #3182ce 100%);
}

/* Typography */
.poster-title { font-size: 108pt; }
.authors { font-size: 48pt; }
.block-title { font-size: 52pt; }
.block-content { font-size: 34pt; }
主要类
类用途字号
.poster-title主标题108pt
.authors作者姓名48pt
.affiliations机构38pt
.block-title章节标题52pt
.block-content正文34pt
.key-finding突出显示框36pt

质量检查清单

步骤 0:生成前审核(必须)

对计划制作的每个图形,确认:

  • 能否用 3–4 项或更少内容描述?(不能是 5 项以上)
  • 是否为简单工作流(3–4 个步骤,不能是 7 个以上)?
  • 能否用 10 个词或更少描述所有文字?
  • 是否只传达一个信息(而非多个)?

拒绝以下模式:

  • ❌“7 阶段工作流”→ 简化为“3 个主要阶段”
  • ❌“多个案例研究”→ 每个图形只展示一个案例
  • ❌“2015–2024 年度时间线”→“仅展示 3 个关键年份”
  • ❌“比较 6 种方法”→“仅比较 2 种:我们的方法与最佳方法”
步骤 2b:生成后审核(必须)

以 25% 缩放比例检查每个生成的图形:

✅ 通过标准(必须全部满足):

  • 所有文字均清晰可读
  • 数量:3–4 个元素或更少
  • 留白:50% 以上
  • 2 秒内即可理解
  • 不是复杂的 5 个以上阶段工作流
  • 没有多个嵌套章节

❌ 不通过标准(符合任意一项即需重新生成):

  • 文字太小或难以阅读 → 重新生成,并注明“150pt 以上”
  • 元素超过 4 个 → 重新生成,并注明“仅 3 个元素”
  • 留白少于 50% → 重新生成,并注明“60% 留白”
  • 流程复杂、包含多个阶段 → 拆分为 2–3 个图形
  • 多个案例过于拥挤 → 拆分为单独的图形
导出后
  • 四边均无内容被裁切(仔细检查)
  • 所有图像均正常显示
  • 颜色呈现符合预期
  • 按 25% 比例缩放时,文字仍清晰可读
  • 图形简单明了(不像复杂的 7 阶段工作流)

需要避免的常见问题

AI 生成图形时常见的问题:

  • ❌ 元素过多(10 项以上)→ 最多控制在 3–5 项
  • ❌ 文字过小 → 在提示词中注明“超大(100pt 以上)”
  • ❌ 没有留白 → 在每条提示词中加入“50% 留白”
  • ❌ 流程图过于复杂(8 个以上步骤)→ 限制为 4–5 个步骤

HTML/导出时常见的问题:

  • ❌ 内容超出海报尺寸 → 在浏览器中检查溢出情况
  • ❌ PDF 中缺少背景图形 → 在打印设置中启用
  • ❌ PDF 纸张大小错误 → 精确匹配海报尺寸
  • ❌ 图像分辨率低 → 最低使用 300 DPI

内容方面的常见问题:

  • ❌ 文字过多(超过 1000 个词)→ 精简至 300–800 个词
  • ❌ 章节过多(7 个以上)→ 合并为 5–6 个章节
  • ❌ 缺少清晰的视觉层次 → 突出显示关键发现

与其他技能集成

此技能可与以下技能配合使用:

  • Scientific Schematics:生成所有海报图表和流程图
  • Generate Image / Nano Banana Pro:创建风格化图形和主视觉图像
  • LaTeX Posters:海报制作的默认技能(除非明确要求 PPTX,否则请使用此技能)

模板素材

assets/ 目录中提供:

  • poster_html_template.html:主要的 HTML 海报模板(36×48 英寸)
  • poster_quality_checklist.md:提交前验证清单

参考资料

references/ 目录中提供:

  • poster_content_guide.md:内容组织与写作指南
  • poster_design_principles.md:排版、色彩理论与视觉层级
  • poster_layout_design.md:布局原则与网格系统

评论

支持 Markdown