---
name: schedule-screenshot
description: 将日程安排文字生成为 iPhone 一屏展示的行程图片。当用户提供行程安排内容并希望生成适合手机查看的行程图时调用。关键词：行程安排、日程表、行程图、日程图、一屏展示、手机行程图、日程截图。
---

# 日程安排截图生成器

将文字行程安排转化为适配 iPhone 的整屏截图，顶部预留刘海安全区，底部预留联系人信息。

## 使用流程

### 1. 生成 HTML 模板

从 `assets/template.html` 复制模板，根据用户提供的行程内容填充数据：

**模板关键 CSS 约定：**
- 页面容器 `.page`：390px 宽，844px 高，`padding-top: 47px`（刘海安全区）
- 头部 `.header`：蓝色背景 `#1565c0`
- 时间段 `.section-label`：蓝色文字分区标签
- 每行 `.item`：flex 布局，`.time`（80px 宽右对齐）+ `.body`（flex 弹性）
- 网址前用 `.ico-link` CSS 图标，地址前用 `.ico-pin` CSS 图标
- 底部 `.footer`：联系人信息

**数据填充规则：**
- 所有人员按原文顺序列出，用顿号分隔
- 企业方单独标注职务（董事长/总经理）
- 网址和地址分别使用 `.link` 和 `.addr` 样式
- 去掉不必要的空行，内容紧凑排列

### 2. 确认高度适配

内容总高必须在 844px 以内（含顶部 47px 安全区 + 底部 24-34px 留白）。
如果超出一屏，优先压缩 padding、缩小字体（最小 11px），或合并同类信息到一行。

### 3. 截图

```bash
node scripts/screenshot.js <html路径> <输出png路径>
```

或使用 npm 模块方式：
```js
const { screenshot } = require('./scripts/screenshot.js');
await screenshot(htmlPath, outputPath);
```

### 4. 后处理（去水印）

如果截图尺寸恰好是 iPhone 标准分辨率（如 1170×2532），平台可能自动加"AI生成"水印。
用 Python PIL 在底部加 2px 白边打破标准尺寸：

```python
from PIL import Image
img = Image.open('output.png')
w, h = img.size
new = Image.new('RGBA', (w, h + 2), (255,255,255,255))
new.paste(img, (0, 0))
new.save('output.png')
```

### 5. 分享

调用 `mobile.share.image` 或 `mobile.share.files` 发送给用户。

## 注意事项

- 不要使用 emoji（截图环境字体不支持），用 CSS 矢量图标替代
- 字体统一用 PingFang SC，字重用 300-400（轻盈风格）
- 时间列 `white-space: nowrap` 确保时间范围不换行
- 底部联系人保持可见，不被 iPhone home indicator 遮挡
