name: pdf-exporter
description: >
  MANDATORY: Use this skill for ANY PDF document export or generation task.
  Triggers: "导出PDF", "下载PDF", "保存为PDF", "生成PDF文档", "export pdf", "save as pdf", "转成PDF", "PDF报告", "生成pdf".
  CRITICAL: NEVER write ad-hoc reportlab code directly in task scripts. ALWAYS call export_pdf.py via this skill.
  This skill supports Chinese text rendering via TrueType fonts.
  Do NOT use for: reading PDF files for content extraction (use direct PyPDF2 read), merging documents.
version: "1.0"

# PDF 导出技能

将结构化内容导出为 PDF 格式文件，支持标题、段落、表格、列表等常见元素，并支持中文内容。

## CRITICAL RULES

- MUST call `export_pdf.py` for ALL PDF export requests; NEVER write ad-hoc reportlab code
- MUST ensure `sys.path` includes `/workspace/.local/lib/python3.11/site-packages` before importing reportlab
- Output PDF file MUST be saved to `/workspace/Document/PersonalDocuments/` (personal knowledge base)
- ALWAYS confirm the output path returned by the script; NEVER fabricate a file path

## 触发范围

激活场景（MUST activate）：
- 用户说"导出PDF"、"下载PDF"、"保存为PDF文档"、"生成pdf"
- 用户要求将报告、表格、内容输出为 PDF 格式

## 使用方法

调用 `/workspace/skills/pdf-exporter/scripts/export_pdf_v2.py`，传入内容参数：

```bash
python3 /workspace/skills/pdf-exporter/scripts/export_pdf_v2.py \
  --title "文档标题" \
  --content "正文内容（支持Markdown格式）" \
  --output "/workspace/Document/PersonalDocuments/output.pdf" \
  --data-source "数据来源说明（可选）"
```

参数说明：
- `--title`：文档主标题（必填）
- `--content`：正文内容，支持 Markdown 格式（必填）
- `--output`：输出 PDF 文件路径（必填）
- `--data-source`：数据来源说明

### 构造 --content 参数的注意事项

- **不要把标题放进 content**：文档标题应通过 `--title` 参数传入，`--content` 中**不要包含主标题**（如 `# 标题`），直接从正文内容开始
- **不要使用表情符号**：`--content` 中**严禁包含** emoji 表情符号（如 ✅、⚠️、🔄、🥇 等），这些符号在 PDF 中可能无法正确显示
- **概览区块使用引用格式**：对于「概览」类内容，使用 Markdown 引用格式 `> 内容` 以显示为蓝色底纹的突出样式
- **表格表头去除箭头**：表头中**不要包含** `↑` `↓` 等方向箭头符号，保持简洁
- **结合 HTML 报告内容**：构造 `--content` 参数时，需要结合 HTML 报告中的实际内容进行提取和转换
- **数据提取**：从 HTML 报告中提取关键数据、表格、列表等结构化信息
- **格式转换**：将 HTML 标签转换为对应的 Markdown 格式（如 `<h2>` → `##`，`<h3>` → `###`，`<table>` → Markdown 表格等）
- **内容筛选**：根据 PDF 导出需求，筛选并整理 HTML 报告中的核心内容，去除不必要的样式和脚本元素
- **文档结尾信息**：PDF 文档末尾会自动附加报告生成时间和数据来源，请勿在 content 中手动添加

## 依赖说明

| 依赖包 | 版本 | 用途 |
|--------|------|------|
| reportlab | 4.0.0+ | PDF 文档生成核心库 |
| Pillow | 10.0.0+ | 图像处理支持 |

依赖安装路径：`/workspace/.local/lib/python3.11/site-packages/`

## 支持的 Markdown 格式

- 标题：`# H1` 到 `###### H6`
- 段落：普通文本
- 行内格式：`**粗体**`、`*斜体*`、***粗斜体***、`` `代码` ``
- 代码块：```language\ncode\n```
- 无序列表：`- item`、`* item`、`+ item`（支持嵌套）
- 有序列表：`1. item`（支持嵌套）
- 表格：`| 列1 | 列2 |`
- 引用：`> 引用内容`
- 水平线：`---`、`***`、`___`
