将复杂文字转化为以图文符号为核心的易读内容,提供双通道输出。
yd 启动y 启动d 启动每次任务产生两份输出:
| 通道 | 格式 | 用途 |
|---|---|---|
| ------ | ------ | ------ |
| 对话显示 | Markdown富文本 | 直接在对话界面阅读,含emoji图标、粗体标记、结构化排版 |
| Word文档 | .docx文件 | 下载打印,正式存档,高保真排版 |
执行顺序:先完成对话显示内容的生成与展示,再生成Word文档。
直接在对话中以Markdown格式输出易读内容,让用户无需下载即可阅读。
## 和 ### 分隔章节,标题前加emoji
或空行分隔)--- 分隔不同章节## 🏥 看病流程
🔴 **重要**:记得带身份证
📝 **步骤**:
1️⃣ 先到挂号处取号
2️⃣ 等待叫号
🔊 听到名字去诊室
3️⃣ 医生看病后开药
4️⃣ 去药房拿药
💊 核对药名和数量
✅ **检查**:你知道下一步要做什么吗?
| 类别 | Emoji | 用法 |
|---|---|---|
| ------ | ------- | ------ |
| 动作 | 👆👇👉👈✍️🚶 | 指示方向、动作 |
| 地点 | 🏠🏥🏫🏬🏦 | 标记场所 |
| 时间 | ⏰📅🌅🌙 | 时间相关 |
| 联络 | 📞✉️📧 | 联系方式 |
| 物品 | 📄📝🔑💊📦 | 物品标记 |
| 数量 | 1️⃣2️⃣3️⃣4️⃣5️⃣ | 步骤编号 |
| 警示 | ⚠️🔴🟡🚫❌ | 警告、禁止 |
| 肯定 | ✅🟢👍✔️ | 确认、正确 |
| 步骤 | 📋🔢➡️ | 流程指示 |
| 选择 | 🔘☑️ | 选项标记 |
| 人 | 👤👨👩👴👵 | 人物角色 |
| 交通 | 🚌🚇🚗🚲 | 交通方式 |
使用C# + OpenXML SDK生成,符合易读排版标准。
核心设计:RunProperties模板复用
C#模板中预定义12个RunProperties工厂方法,通过CloneNode(true)安全复用:
| 方法 | 用途 |
|---|---|
| ------ | ------ |
RpBody() | 正文:14pt + 微软雅黑/Arial + 深灰 |
RpBoldBody() | 粗体正文 |
RpColor(c) | 彩色文字 |
RpBoldColor(c) | 粗体彩色 |
RpTitle() | 主标题:22pt + 标题色 |
RpHeading() | 节标题:18pt |
RpSubHeading() | 小标题:16pt |
RpEmoji() | Emoji符号:Segoe UI Emoji字体 |
RpEmojiColor(c) | 彩色Emoji |
RpTable() | 表格文字:12pt |
RpTableBold() | 表格粗体 |
使用方式:new Run(RpBody().CloneNode(true), new Text("内容"))
关键原则:Emoji和文字必须在不同Run中
RpEmoji()或RpEmojiColor()RpBody()、RpBoldBody()等用户上传图片时用OCR提取文字,直接提供文字时跳过此步。
识别需转化为符号的信息:动作、地点、时间、联络、物品、数量、警示、步骤、选择。
将转化后的内容按"对话排版规范"组装为Markdown格式。
必须遵循:
## 🏥 看病流程)✅ 检查:你知道...吗?)输出:直接在对话界面展示完整的Markdown易读内容。
以第四步的内容为基础,调用C#模板生成.docx文件。
构建命令:
./scripts/docx build <输出路径>
构建成功后会显示[SUCCESS],失败会显示错误码和排查建议。
| 原文类型 | 简化方向 | 示例 |
|---|---|---|
| ---------- | ---------- | ------ |
| 专业术语 | 日常用语 | "就诊" → "看病" |
| 抽象概念 | 具体描述 | "办理手续" → "去窗口填表" |
| 长词 | 短词 | "身份证" → "证件"(上下文允许时) |
| 否定句 | 正面表述 | "请勿触摸" → "请保持距离" |
| 被动语态 | 主动语态 | "将被处理" → "工作人员会处理" |
每份易读内容至少包含1-2个理解检查点:
| 错误码 | 含义 | 排查方法 |
|---|---|---|
| -------- | ------ | ---------- |
| E001 | 参数错误 | 检查输出路径是否为空 |
| E002 | OpenXML包错误 | 检查输出路径是否有写入权限,路径不含特殊字符 |
| E003 | IO错误 | 关闭已打开的Word文件;检查磁盘空间 |
| E004 | 权限错误 | 更换输出路径到有写入权限的目录 |
| E999 | 未知错误 | 检查中文标点是否泄露到C#语法位置;检查TableGrid位置 |
常见编译错误排查:
CS1003:中文引号断裂字符串,用\"转义CS1056:中文标点出现在参数列表/分号位置,改用ASCII标点InvalidOperationException:RunProperties被重复Append到多个Run,改用CloneNode(true)missing tblGrid:TableGrid放在了TableProperties内部,应放在Table下作为并列子元素| 文件 | 路径 | 内容 |
|---|---|---|
| ------ | ------ | ------ |
| 图文符号规则 | references/easy-to-read-rules.md | 符码库、简化规则、Word排版规范、案例 |
| C#代码模板 | assets/easy-to-read-template.cs | 完整C#模板(含RpXxx工厂方法和错误处理) |
共 2 个版本