SVG海报生成器
用途
把海报文案转换成可直接发布或印刷的 SVG 源文件 + JPG 成品。适合公众号头图、朋友圈海报、小红书/抖音封面。
通常用于:
- AI 直接生成海报文字不稳定时,用 AI 生成背景图 + SVG 叠加精确文字
- 对文字排版要求严格(字号、字体、对齐、品牌色)的场景
触发场景:
- "生成一张 SVG 海报"
- "把这段文案做成海报"
- "海报生成器脚本"
- "基于文案生成 SVG 并转 JPG"
- "用背景图叠加文案生成海报"
输出规格
- 尺寸:1080×1440 px(3:4),可改
- 品牌色:主色
#2B7A78、辅色#3AAFA9、点缀#D4A843、背景#FFFEFB - 字体栈:优先使用 PingFang SC / Microsoft YaHei,保证中文渲染正常
- 安全区:四边 ≥ 60px,关键信息不贴边
脚本
1. 生成 SVG:scripts/generate_poster.py
python scripts/generate_poster.py \
--title "夏季白斑易扩散" \
--subtitle "这 3 个防晒细节,白癜风患者别忽视" \
--points "避免上午10点-下午4点暴晒" "选用温和、无刺激的防晒霜" "晒后及时冷敷,避免抓挠摩擦" \
--cta "点击了解夏季防护方案" \
--output /path/to/poster.svg
参数说明:
- --title:主标题(建议 ≤ 12 字)
- --subtitle:副标题(建议 ≤ 25 字)
- --points:要点列表,可传多个
- --cta:行动号召
- --output:输出 SVG 文件路径
- --theme:主题风格(默认 summer,当前仅影响预留字段)
- --background-image:背景图片路径(png/jpg/webp),会 base64 内嵌到 SVG 上半部分
- --footer:底部小字(默认「示例专科医院 · 夏季白癜风防护科普」)
2. SVG 转 JPG:scripts/svg_to_jpg.py
python scripts/svg_to_jpg.py \
--input /path/to/poster.svg \
--output /path/to/poster.jpg
参数说明:
- --input:SVG 源文件路径
- --output:JPG 输出路径
- --width / --height:画布尺寸(默认 1080×1440)
- --quality:JPG 质量(默认 90)
- --scale-factor:渲染缩放倍数(默认 2,即 2× 分辨率)
> 使用 Playwright 渲染 SVG,中文和系统字体兼容性优于 cairosvg/ImageMagick。
完整流程示例
示例 1:纯矢量海报(无背景图)
# 1. 生成 SVG
python ~/.workbuddy/skills/svg-poster-generator/scripts/generate_poster.py \
--title "夏季白斑易扩散" \
--subtitle "这 3 个防晒细节,白癜风患者别忽视" \
--points "避免上午10点-下午4点暴晒" "选用温和、无刺激的防晒霜" "晒后及时冷敷,避免抓挠摩擦" \
--cta "点击了解夏季防护方案" \
--output ~/Desktop/海报素材/20260726_夏季白癜风防晒科普_v1.svg
# 2. 转成 JPG
python ~/.workbuddy/skills/svg-poster-generator/scripts/svg_to_jpg.py \
--input ~/Desktop/海报素材/20260726_夏季白癜风防晒科普_v1.svg \
--output ~/Desktop/海报素材/20260726_夏季白癜风防晒科普_v1.jpg
示例 2:带 AI 生成背景图的海报
# 1. 生成 SVG(背景图 base64 内嵌)
python ~/.workbuddy/skills/svg-poster-generator/scripts/generate_poster.py \
--title "夏季白斑易扩散" \
--subtitle "这 3 个防晒细节,白癜风患者别忽视" \
--points "避免上午10点-下午4点暴晒" "选用温和、无刺激的防晒霜" "晒后及时冷敷,避免抓挠摩擦" \
--cta "点击了解夏季防护方案" \
--background-image ~/Desktop/海报素材/20260727_老张AI_夏季防晒科普配图.png \
--output ~/Desktop/海报素材/20260727_夏季白斑防晒科普_完整海报_v1.svg
# 2. 转成 JPG
python ~/.workbuddy/skills/svg-poster-generator/scripts/svg_to_jpg.py \
--input ~/Desktop/海报素材/20260727_夏季白斑防晒科普_完整海报_v1.svg \
--output ~/Desktop/海报素材/20260727_夏季白斑防晒科普_完整海报_v1.jpg
依赖
- Python 3.11+
playwright(用于 SVG 转 JPG)- 安装方式:
pip install playwright
playwright install chromium
注意事项
- 默认病种为白癜风,除非用户明确指定其他病种。
- 海报文案需过医疗合规检查:禁用「治愈」「根治」「100%」「第一」「最佳」等绝对化用语,不做疗效承诺。
- 如需修改配色、尺寸或布局,直接编辑
generate_poster.py中的颜色字典和坐标参数。 - 生成后的 SVG 和 JPG 按
YYYYMMDD_主题_版本.{格式}命名,归档到成品素材/YYYY-MM/目录。
更新记录
| 日期 | 版本 | 内容 |
|---|---|---|
| 2026-07-26 | v1.0 | 初版:生成 SVG + Playwright 转 JPG |
| 2026-07-27 | v1.1 | 新增 --background-image 参数,支持 base64 内嵌背景图,标题叠加在图片下半部分 |