摄影采风路书制作

SKILL内容创作
内容创作 未标注权限 许可证不明确
安装这个技能

用于制作、编辑和修订摄影采风自驾游路书。触发词:"制作路书"、"修改路书"、"修订路书"、"编辑路书"、"调整路书排版/顺序"、"在景点增加门票优惠政策"、"标准版模板"、"精简版模板"、"切换模板"、"行程方案"、“旅游”、"旅行"、“路书”、“攻略”。核心能力:(1)使用内置 python-docx 生成器脚本从数据一键生成 DOCX 路书(含 AI 风光图片、门票政策框、摄影要点),(2)使用 pymupdf 对已有 PDF 进行修改(删除图片、插入文本框),(3)搜集和整理各景点门票优惠政策与预约要求,(4)编辑修订已有 DOCX 路书的内容数据并重新生成。内置多套可切换版式模板(标准版/精简版),附带可直接运行的生成器与示例数据。

一句话选型结论

按资料字段整理

摄影采风路书制作是内容创作类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类内容创作 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_96ab2d80/roadbook-maker
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

内容创作
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_96ab2d80仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791731494
正文体量28.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写文章与脚本

按主题产出初稿与分镜脚本。

改稿与润色

把草稿改顺、统一语气。

多平台文案改写

同一内容按平台改成长短不同的版本。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在内容创作场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
摄影采风路书制作当前 未标注权限 未标注 未标注 未标注 有
AI 视频生成 调用外部服务 GitHub 仓库 431.3 万 Codex、Claude、Cursor 有
视频帧 联网访问 ClawHub 市场 262.1 万 OpenClaw 有
Markdown 转换器 写入文件 ClawHub 市场 135.3 万 OpenClaw 有
哔哩哔哩全合一 接触敏感数据 ClawHub 市场 64.1 万 OpenClaw 有
Remotion video toolkit 命令行 浏览器控制 ClawHub 市场 63.9 万 OpenClaw 有

SKILL.md 全文

28.7 KB
模型实际读到的说明书原文,来自技能仓库

摄影采风路书制作

Overview

本技能封装了摄影采风路书的完整制作与修订流程,包括从零生成全新 DOCX 路书、PDF 内容修改、门票优惠政策搜集与插入、AI 风光图片生成、摄影要点编写,以及对已有 DOCX 路书的内容级编辑修订。样式规范以《宁甘内青疆摄影采风》路书为严格基准、示例内容数据取自《晋东北摄影采风》(150 段落 / 7 表格 / 13 图);V1.1.0 排版规范与范文见 D:/AI工作区/山西摄影采风路书.docx(路书 docx 体积大,不内置进技能目录,以免占用 C 盘;技能目录仅保留轻量模板与资源)。

核心约定

  • 输出目录(用户自定义):在 roadbook_content.py 的 CONFIG["output"] 中填写你想要的绝对路径(例如 D:/AI工作区/路书.docx)。作者机默认示例为 D:/AI工作区/,请改成你自己的路径——生成器支持任意盘符,不限定 D 盘。
  • 输出格式:DOCX 格式(为主),PDF 仅作辅助预览
  • 配色规范:橙色主色(#C55A11)、棕色辅色(#8B4513)、深灰正文(#333333)、橙色日标题(#E46C0A)
  • 字体:微软雅黑(全文统一,实测基准文档 525 处 run 均为微软雅黑)
  • 行程标题格式:D1:9月14日(周一) 长沙→银川·镇北堡(50km),宿银川市(括号内用半角 (),且须在一行内写完)
  • 门票政策框:1x1 表格,橙色边框(#C55A11)、米色背景(#FFF7E0);标题 10pt 粗橙、条目 9pt 深灰

技能文件清单

文件 作用 备注
SKILL.md 本技能全部方法论与版面规范 核心,AI 读取后照此执行
scripts/generate_roadbook.py DOCX 生成器:读 roadbook_content.py 按版面规范出 DOCX 模式 A / 模式 C 使用
scripts/pdf_insert_ticket_boxes.py PDF 修订工具:删图 + 插门票框 模式 B 使用,与生成器独立
examples/sample_roadbook_content.py 数据文件模板,复制改名即可用 跑通流程的样例(轻量,内置)
大范文 docx(山西/晋东北) 不内置进技能目录,已移至 D:/AI工作区/ 路书成品体积大,放 D 盘避免 C 盘随技能增多而膨胀
references/门票政策参考.md 北疆主要景点门票政策真实样例(2024–2025 整理) 仅供参考,实际以景区公告为准;可自行替换为目标路线数据
references/appendix_standard.py 标准附录组件(固化,非临时数据):注意 标题段前 28.7pt / 正文段后 27pt(2×行距)的默认间距常量,以及 AIRPORT_CAR_INSPECTION(在机场验收租车的要求 5 条标准文案) 生成器已内置为默认值;任何自驾租车路书均应从本文件取用,不手抄

> 注意:本技能的样式规范(字体大小 / 段落缩进 / 行距)以《宁甘内青疆摄影采风》路书为严格基准,示例内容数据取自《晋东北摄影采风》;references/门票政策参考.md 与 PDF 工具内置的是北疆样例数据——两者都是「示例」,使用时请替换为你自己路线的真实内容。

模板选择(可切换)

本技能内置多套版式模板。每次制作 / 修订路书前,先确认用哪一套(默认:标准版)。用户也可在指令中直接指定模板,例如:

  • 「帮我做一份 XX 路书 用精简版模板」
  • 「把这份路书 改成标准版」
  • 「切换成精简版重新生成」

> 模板只改变「视觉密度与信息量」(字号、配色、是否画门票框、是否单列背景介绍),不改变核心约定:输出目录 CONFIG["output"]、输出 DOCX、每日内容的语义顺序、中文引号规则。新增模板只需在「版面风格基准」节末尾追加一套参数即可。

模板 适用场景 与标准版差异 页数约为标准版
标准版(默认) 完整路书、印刷/珍藏 《宁甘内青疆》样式基准,含背景介绍+门票框+摄影要点+AI图 100%
精简版 快速浏览、手机阅读、发群 合并背景介绍、去掉米色门票框(改行内一行)、整体字号略降 60–70%

版面风格基准(样式以《宁甘内青疆摄影采风》为严格基准,示例数据取自《晋东北摄影采风》)

生成或修订新路书时须对齐以下参数(直接照抄,避免走形)。全文档微软雅黑,正文色 #333333。

元素 字号 颜色 粗体 缩进 / 行距 备注
封面顶部风光图 — — — 整宽 banner,位于主标题之前 由 CONFIG["cover_image"] 指定图片路径
封面主标题 36pt #C55A11 是 居中
封面副标题 26pt #8B4513 是 居中
日标题 D1:… 15pt #E46C0A 是 无缩进;自动压缩字距+横向缩放到一行;括号内用半角 ()
小节标题「行程描述」 12pt #8B4513 是 首行缩进 2 字符
景点背景介绍标题「📖 ×× · 背景介绍」 12pt #8B4513 是 首行缩进 2 字符
摄影要点标题「📷 摄影要求与注意事项」 11pt #C55A11 是 首行缩进 2 字符
行程描述 / 背景介绍 / 前言·温馨提示 / 附录叙述正文 10.5pt #333333 否 首行缩进 21pt(2 字符),1.3 倍行距
摄影要点条目 10.0pt #333333 否 首行缩进 2 字符,1.2 倍行距 可带 📷 等 emoji 分项
门票政策框 标题 10pt #C55A11 粗 / 条目 9pt #333333 — — 1x1 表格,橙边(#C55A11)米底(#FFF7E0) 含票价/免票/半价/预约
景点风光图片 — — — 居中内嵌;宽 img_width 英寸(默认 5.8),超高按 img_max_height_in 等比压矮(只压不放大) AI 生成
行程总览表 表头 8–10pt 白粗 / 表体 7.5–9.5pt #333333 — — 整表 keep_together 不拆;表头/表体字号与单元格边距可配压矮 由 FOREWORD 的 table 类型项提供

每日条目顺序(已定稿,务必遵循):
1. 封面顶部风光图 → 封面主/副标题、分隔线、路线、元信息
2. 日标题(D1:日期(周) 出发→到达(里程),宿地点,括号内半角 ())
3. 行程描述(12pt #8B4513 标题「行程描述」首行缩进 2 字 + 10.5pt 正文,首行缩进 21pt / 1.3 倍行距)
4. 景点背景介绍(12pt #8B4513 标题「📖 ×× · 背景介绍」+ 10.5pt 正文,首行缩进 21pt / 1.3 倍行距)
5. 景点风光图片(AI 生成,内嵌,居中)
6. 门票政策框(1x1 表格,橙边米底,含票价/免票/半价/预约)
7. 摄影要点(11pt #C55A11 标题「📷 摄影要求与注意事项」版标题 + 10.0pt 条目)

排版硬性要求(V1.1.0 起强制,与《山西摄影采风路书》定稿一致)

  • 封面顶部须有整宽风光 banner 图:在 roadbook_content.py 的 CONFIG["cover_image"] 填图片路径,生成器自动以大标题之前的整宽 banner 插入。
  • 日标题必须在一行内写完:生成器按可用宽度自动施加负字距(日期段额外压缩),仍超则叠加横向缩放;标题内括号统一用半角 ()。
  • 小标题与紧跟正文首行禁止跨页拆分:行程描述 / 📖 背景介绍 / 📷 摄影要求 / 温馨提示 / 规则区各标题均设 keep_with_next,与下方首行绑定。
  • 所有表格禁止跨页拆分:每张表开启 cantSplit + 行间 keep_with_next + keep_together,整表要么留本页、要么整体下移。
  • 除日标题外,所有小标题统一首行缩进 2 字符:前言 / 行程描述 / 📖 背景介绍 / 📷 摄影要求与注意事项 / 温馨提示 / 注意 / 本次自驾游的有关规则和要求 / 自驾游免责协议书 / 摄影装备分类等小标题均首行缩进 2 字;日标题(D1…)不缩进。由 CONFIG["subheading_indent_chars"] 覆盖(默认 2,单位字符数)。
  • 正文统一缩进规则:行程描述、背景介绍、前言·温馨提示、附录叙述正文、摄影要点条目均为首行缩进 2 字符;行程描述/背景介绍/前言·温馨提示/附录叙述正文 10.5pt / #333333 / 1.3 倍行距;摄影要点条目 10.0pt / #333333 / 1.2 倍行距。
  • 逐项可覆盖的 CONFIG 键(写进 roadbook_content.py 的 CONFIG 顶层即可,无需改生成器):
  • subheading_indent_chars:小标题按字符缩进数(默认 2;如需对齐《山西》范本那种"背景介绍/摄影要求不缩进"的样式,可设为 0 或仅对特定项用 indent_chars: 0)。
  • clause_indent:规则条款(clause 类型)首行缩进 pt 值(默认 0 对齐《山西》;藏东偏好 21≈2 字)。
  • table_head_size / table_body_size:行程总览等表格的表头 / 表体字号(默认 10 / 9.5;压矮用 8 / 7.5)。
  • overview_cell_margin:行程总览表单元格边距(twips,默认 15)。
  • space_scale:所有「标题↔标题 / 标题↔正文」段间距统一缩放系数(默认 1.0=不压缩;<1 收紧,用于消除大段空白)。覆盖键:day_*、section_*、travel_*、photo_title_*、body_space_after、bullet_space_after。
  • img_width / img_max_height_in:景点图宽(英寸,默认 5.8)/ 最高高度(英寸)。插入后若超高,add_image_fit() 等比缩小——只压矮、绝不放大。
  • ticket_line_spacing / ticket_space_after / ticket_cell_margin:门票框内正文行距(默认 1.0)/ 行后距(默认 1)/ 单元格边距(twips,默认 20;压矮用 15)。
  • 实现要点:set_indent_chars() 在写入 w:firstLineChars(按字符缩进)前会清掉冲突的 w:firstLine(pt)属性,避免部分阅读器(如 Tencent Docs 预览)不按 2 字渲染。
  • 页边距 2.5cm(70.85pt),正文区宽度由此推算。
  • 图片高度控制(只压不放大):章节景点图按 img_width(英寸)插入,若插入后高度超过 img_max_height_in(英寸),生成器 add_image_fit() 等比缩小——只压矮、绝不放大。避免图片过高把后续内容顶到下一页、形成大于半页的空白。覆盖:CONFIG[&quot;img_width&quot;] / CONFIG[&quot;img_max_height_in&quot;]。
  • 标题/正文间距可压缩(消除大空白):统一用 space_scale(默认 1.0=不压缩;<1 收紧)缩放所有「标题↔标题、标题↔正文」段间距,用于消除大段空白而无需逐段手调。覆盖:CONFIG[&quot;space_scale&quot;]。
  • 门票框可压缩:ticket_line_spacing(框内正文行距)、ticket_space_after(框内行后距)、ticket_cell_margin(单元格边距 twips,压矮用 15)均可覆盖,用于压低门票框整体高度。
  • 行程总览大表压矮且不拆:该表开启 keep_together(整表不跨页拆分,符合「行程总览不要被拆分」要求);表头/表体字号由 table_head_size/table_body_size 压小(如 8/7.5)、单元格边距同步压小,使其与前言挤进同一页而不拆。
  • 强制分页(不管前面留多大空白都另起一页):在 FOREWORD/APPENDIX 内容列表里插入 {&quot;type&quot;: &quot;page_break&quot;},其后内容强制从新页开始(典型:把「规则与要求」及以后整体推到新页)。详见下节「附录区内容类型与结构」。
  • 「注意」小节固化默认间距(V1.1.0 强化,源自浙南路书多轮迭代确认):生成器对 h2 文本为「注意」的标题自动套用段前距 NOTE_HEADING_BEFORE_PT = 28.7pt(与上方内容间距,≈ 原 7.7pt 经两轮翻倍的舒适值);对其后紧跟的 body 正文自动套用段后距 NOTE_BODY_SPACE_AFTER_PT = 27pt(= 2 × 正文行距 10.5pt×1.3)。数据层可显式写 before / space_after 覆盖;常量定义见 references/appendix_standard.py。此间距是技能默认,不是某份路书的临时数据——新建路书无需重复书写即可获得该版式。
  • 「在机场验收租车的要求」为标准必含组件(V1.1.0 强化):自驾租车路书的「本次自驾游的有关规则和要求」之后必须包含此 5 条验收条款;文案为技能内置正典(references/appendix_standard.py 的 AIRPORT_CAR_INSPECTION),任何路书均从此取用、不得遗漏或私自改写(此前曾因漏加被用户指出)。生成器与示例模板均已内置。

> 历史修订记录:早期版本曾将「景点介绍」置于「行程描述」之前,后在《晋东北摄影采风》编辑中调整为上方顺序(行程描述先行),此后作为定稿标准。此后 V1.1.0 又固化了「图片只压不放大 / 空白压缩 / 强制分页 / 附录区推荐结构」等规则(源自浙南路书多轮迭代经验)。

附录区内容类型与结构(推荐顺序)

APPENDIX_CONTENT(以及 FOREWORD_CONTENT)是 item 列表,按 &quot;type&quot; 区分样式。type 取值:

type 样式 说明
h1 14pt 粗 棕(#8B4513) 大标题(如「自驾游免责协议书」「摄影装备建议清单」);可带 &quot;size&quot; 改字号
h2 12pt 粗 棕,首行缩进 2 字 小节标题(如「注意」「在机场验收租车的要求」);可带 &quot;size&quot;、&quot;before&quot;/&quot;after&quot;(段前/段后距 pt,浮点)
cat 11pt 粗 橙(#C55A11) 清单分类标题
clause 10.5pt #333333,1.3 倍行距 编号条款(1、2、3…);首行缩进由 clause_indent 控;可带 &quot;space_after&quot;
body 10.5pt #333333,1.3 倍行距,首行缩进 2 字 叙述正文;可带 &quot;space_after&quot;(pt)调段后留白
item 10.0pt #333333,1.3 倍行距 清单条目(如摄影装备分项)
image — 内嵌图片,需 &quot;image&quot;: &quot;图片key&quot;
table — 多列表格(如行程总览),&quot;data&quot; 为二维数组
space — 空一行
page_break — 强制分页:其后内容另起一页(不论前面留多大空白)

> 每个 item 均可用 &quot;before&quot; / &quot;after&quot;(段前/段后距,单位 pt,浮点)微调间距——这是迭代微调版面(如「某标题与上方距离加倍」)的标准手段,无需改生成器;显式值会覆盖 space_scale 的全局缩放。
> 例外(已固化默认):h2 文本为「注意」时,生成器默认 before = 28.7pt、其紧跟 body 默认 space_after = 27pt(2× 行距);仅在确需偏离时才显式写 before / space_after 覆盖,常量定义见 references/appendix_standard.py。

推荐附录顺序(V1.1.0 定稿,源自浙南迭代经验):

  1. 摄影装备建议清单(h1 + 若干 item)—— 置于最前,便于出行前对照准备
  2. 注意(h2,带 &quot;size&quot;: 15)+ 一句正文(body)。间距已固化:标题段前 28.7pt、正文段后 27pt(= 2× 正文行距),由生成器默认套用,无需在数据中显式写 before / space_after
  3. {&quot;type&quot;: &quot;page_break&quot;} —— 把其后「规则与要求」及全部内容推到新页(仅在用户要求独立成页时加)
  4. 本次自驾游的有关规则和要求(h1 + 若干 clause)
  5. 在机场验收租车的要求(标准必含组件,h2 + 5 条 clause)—— 文案见 references/appendix_standard.py 的 AIRPORT_CAR_INSPECTION,从正典取用,不得遗漏或改写
  6. 自驾游免责协议书(h1,带 &quot;size&quot;: 15 + 若干 clause)

> 顺序可因用户要求调整(本路书曾按用户指令把「摄影装备建议清单」从文末提前到「注意」之前)。免责书、AA 制规则等行程特有条款请按用户提供的真实文本录入;而「在机场验收租车的要求」为技能内置标准组件(见 references/appendix_standard.py),属于通用规范、已固化,不视为"用户临时数据"。

精简版参数(蓝本:标准版按比例压缩)

元素 字号 颜色 粗体 备注
封面主标题 30pt #C55A11 是 比标准版小
封面副标题 20pt #C55A11 是 去掉棕色辅色
日标题 D1:… 15pt #C55A11 是 单一橙色,非双色
小节标题(行程与景点) 11pt #C55A11 是 合并「行程描述」+「背景介绍」
摄影要点标题 10.5pt #C55A11 是
正文 10pt #333333 否
摄影要点条目 9.5pt #333333 否
门票(行内一行) 9.5pt #8B4513 否 不再画框,景点正文后一行「门票:票价/免票/半价/预约」

精简版每日顺序:
1. 日标题
2. 行程与景点(11pt #C55A11 标题「行程与景点」+ 10pt 正文,合并原行程描述与背景介绍)
3. 景点风光图片(AI 生成内嵌,尺寸可略小)
4. 门票(行内一行,含票价/免票/半价/预约)
5. 摄影要点(10.5pt #C55A11 标题 + 9.5pt 条目)

> 精简版参数与顺序均为合理默认值,可按用户反馈随时调整;调整时直接改本节表格,无需动生成逻辑。

标准工作流程

> ?? 模板确认(每个模式开工前必做):先确认本次使用哪套模板——标准版(默认)或精简版。若用户指令中已指定(如「用精简版模板」)则直接采用;否则默认标准版,不必反复追问。选定后,全文统一按该模板的「版面风格基准」参数执行。

模式A:从零生成全新 DOCX 路书(推荐)

Step 1:确认行程信息

  • 出发/返回城市、日期、天数
  • 每日行程安排(景点、住宿、里程)
  • 参考已有路书模板提取格式规范

Step 2:生成景点风光图片

使用 ImageGen 工具为每个主要景点生成 AI 风光图片:
- 提示词格式:Aerial view of [景点英文名] in [省份], China. [景色描述]. Golden hour lighting, professional landscape photography, high detail, 4K
- 每个景点生成 1 张,封面可生成 1 张全景拼图
- 图片保存为 PNG 格式,命名包含景点拼音

Step 3:搜集门票政策

通过 WebSearch 搜集各景点门票优惠政策(同模式 B 的 Step 2)

Step 4:编写内容数据文件

创建 roadbook_content.py,结构:

DAILY_CONTENT = [
    {
        &quot;title&quot;: &quot;D1:日期(周) 景点(里程),宿地点&quot;,
        &quot;travel_desc&quot;: &quot;当日行程描述(置于景点介绍之前)&quot;,
        &quot;spots&quot;: [
            {
                &quot;name&quot;: &quot;景点名&quot;,
                &quot;image&quot;: &quot;image_key&quot;,  # 对应IMAGES字典
                &quot;intro&quot;: &quot;景点背景介绍(200-300字)&quot;,
                &quot;ticket&quot;: {
                    &quot;title&quot;: &quot;景点名 · 门票优惠政策&quot;,
                    &quot;lines&quot;: [&quot;参考票价:...&quot;, &quot;【免票】...&quot;, &quot;【半价】...&quot;, &quot;※ ...&quot;]
                }
            }
        ],
        &quot;photo_notes&quot;: [&quot;摄影要点1&quot;, &quot;摄影要点2&quot;, ...]
    }
]
APPENDIX_CONTENT = [
    {&quot;type&quot;: &quot;title&quot;, &quot;text&quot;: &quot;附录标题&quot;, &quot;color&quot;: &quot;main&quot;, &quot;size&quot;: 14},
    {&quot;type&quot;: &quot;body&quot;, &quot;text&quot;: &quot;正文内容&quot;, &quot;color&quot;: &quot;body&quot;, &quot;size&quot;: 10.5},
    {&quot;type&quot;: &quot;space&quot;},
]

Step 5:运行生成脚本

python generate_roadbook.py

脚本使用 python-docx 生成 DOCX,包含:封面→行程总览→行程总表→每日行程(行程描述 → 景点背景介绍 → 图片 → 门票政策框 → 摄影要点)→附录。生成器须严格套用「版面风格基准」中的字号/颜色/字体参数。

Step 6:验证与交付

  • 检查段落数、表格数、图片数(参照基准:约 150 段 / 7 表 / 13 图,按天数等比)
  • 抽查内容质量(门票政策、摄影要点完整性)
  • 移动到 CONFIG[&quot;output&quot;] 指定的目录后交付

模式B:修改已有 PDF 路书

Step 1:确认源文件与任务类型

读取原始路书(DOCX 或 PDF),确认总页数/章节结构、需修改的页面位置、图片分布。

Step 2:搜集门票政策

通过 WebSearch/WebFetch 搜集各景点门票优惠政策(票价、免票/半价人群、预约要求)。详见 references/门票政策参考.md。

Step 3:执行 PDF 修改

使用 scripts/pdf_insert_ticket_boxes.py(北疆门票框工具,与 DOCX 生成器相互独立):
1. 删除指定页图片(add_redact_annot + apply_redactions)
2. 在景点介绍页底部插入带边框的门票政策文本框(橙边 #C55A11、米底 #FFF7B0、7.5 号字体)

Step 4:验证与交付

  • 验证图片已删除(get_images() 返回空)
  • 验证门票政策文本已写入(搜索关键词)
  • 预览 PDF 确认视觉效果后交付

模式C:编辑修订已有 DOCX 路书内容(用户的迭代经验)

当需要对已生成的 DOCX 路书做内容级修改(调整每日顺序、增删景点介绍、更新门票政策、修正文案)时,走此流程,而非重新从零生成:

Step 1:定位内容数据文件

找到生成该路书所用的 roadbook_content.py(DAILY_CONTENT 结构)。所有内容修改都在数据层完成,不要直接手改 DOCX。

Step 2:按定稿顺序调整条目

  • 调整每日顺序 → 改 DAILY_CONTENT 列表顺序;
  • 调整某天内元素顺序 → 改该 day 的 travel_desc / spots / photo_notes 字段与 spot 内 intro / image / ticket 顺序;
  • 严格遵循「每日条目顺序」:行程描述 → 背景介绍 → 图片 → 门票框 → 摄影要点。

Step 3:修复中文引号 ASCII 冲突(关键)

编辑中文文案极易触发 Python SyntaxError(见下方「中文引号 ASCII 坑」)。改完用正则或单引号替换法过一遍。

Step 4:重新生成并落盘

python generate_roadbook.py

将生成的 DOCX 保存到 CONFIG[&quot;output&quot;] 指定的目录(任意盘符均可,不限定 D 盘)。

Step 5:交付前自检

按文末「交付前自检清单」逐项核对(顺序、字号、字体、门票框、占位符、落盘路径)。

常用 Python 代码片段

删除 PDF 中的图片

import pymupdf

doc = pymupdf.open(pdf_path)
page = doc[page_index]  # 0-based
images = page.get_images(full=True)
for img in images:
    rects = page.get_image_rects(img[0])
    for rect in rects:
        page.add_redact_annot(rect)
page.apply_redactions()
doc.save(output_path)

插入带边框的文本框

import pymupdf

doc = pymupdf.open(pdf_path)
page = doc[page_index]

rect = pymupdf.Rect(20, page.rect.height - 180, page.rect.width - 20, page.rect.height - 20)
shape = page.new_shape()
shape.draw_rect(rect)
shape.finish(color=(0.773, 0.353, 0.067), fill=(1.0, 0.976, 0.941), width=1.5)
shape.commit()

inner = pymupdf.Rect(rect.x0 + 8, rect.y0 + 6, rect.x1 - 8, rect.y1 - 4)
page.insert_textbox(inner, text_content, fontsize=7.5, fontname=&quot;china-ss&quot;,
                    color=(0.2, 0.1, 0.0), align=0)
doc.save(output_path)

景点页面分布参考

基于北疆路书(10 天行程,共 27 页):
- 第3页:D1 第一天(出发日)
- 第5页:D2 乌伦古湖介绍
- 第8页:D3 五彩滩介绍
- 第10页:D4 白哈巴介绍
- 第12-13页:D5 喀纳斯湖+观鱼台介绍
- 第15-16页:D6 神仙湾/月亮湾/卧龙湾介绍
- 第18页:D7-D8 禾木村介绍
- 第20页:D8 禾木木桥介绍

常见任务

  • 删除某天图片:定位该天行程页 → 找到图片 xref → 使用 redact 覆盖
  • 增加门票政策:在各景点介绍页底部插入文本框 → 格式统一为「标题+票价+免票+半价+预约提示」
  • 批量修改多页:遍历页面列表逐一处理
  • 编辑修订 DOCX 内容:改 roadbook_content.py → 修中文引号 → 重生成 → 落盘到 CONFIG[&quot;output&quot;] 指定目录 → 自检

交付前自检清单

> 先确认本次使用的模板(标准版 / 精简版),再按对应参数核对(标准版见「版面风格基准」上半节,精简版见同节末尾)。

  • [ ] 文件已保存到 CONFIG[&quot;output&quot;] 指定的输出目录(任意盘符均可)
  • [ ] 段落数/表格数/图片数符合预期(基准约 150 段 / 7 表 / 13 图,按天数等比)
  • [ ] 每日顺序正确:行程描述 → 背景介绍 → 图片 → 门票框 → 摄影要点
  • [ ] 日标题 15pt #E46C0A;小节标题 12pt #8B4513;摄影要点标题 11pt #C55A11;正文 10.5pt #333333;字体全微软雅黑
  • [ ] 缩进核对:除日标题外所有小标题(前言/行程描述/📖背景介绍/📷摄影要求/注意/规则/免责协议书/装备分类)均首行缩进 2 字;日标题不缩进
  • [ ] 门票政策框:橙边(#C55A11)米底(#FFF7E0),含票价/免票/半价/预约
  • [ ] 抽查 2-3 个景点:门票政策与摄影要点完整、无占位符/乱码
  • [ ] 中文引号无 SyntaxError(见下方注意事项)
  • [ ] (按需)若用户要求「规则区另起一页」:确认 APPENDIX_CONTENT 中「本次自驾游的有关规则和要求」之前有 {&quot;type&quot;: &quot;page_break&quot;},其后内容确在新页(分页所致的大空白属预期,非排版错误)
  • [ ] (按需)图片高度:img_max_height_in 生效、所有图只压不放大,无大于半页的跳页空白(可用布局估算器复测)

重要注意事项

Python 字符串中的中文引号问题(关键!)

在 roadbook_content.py 等内容数据文件中,严禁在双引号字符串值内使用 ASCII 双引号(&quot;)作为中文引号。这会导致 Python 解析器将内部引号误认为字符串终止符,后续中文内容(如 em-dash ——)出现在字符串外部,触发 SyntaxError: invalid character。

错误写法:

&quot;intro&quot;: &quot;博物馆常设展览包括&quot;朔色长天——宁夏通史陈列&quot;等&quot;  # 语法错误!

正确写法(三选一):

# 方案1:使用中文引号字符(U+201C / U+201D)
&quot;intro&quot;: &quot;博物馆常设展览包括\u201c朔色长天——宁夏通史陈列\u201d等&quot;

# 方案2:使用单引号代替中文引号
&quot;intro&quot;: &quot;博物馆常设展览包括&#x27;朔色长天——宁夏通史陈列&#x27;等&quot;

# 方案3:转义内部双引号
&quot;intro&quot;: &quot;博物馆常设展览包括\&quot;朔色长天——宁夏通史陈列\&quot;等&quot;

推荐方案2(单引号),最简单且不易出错。编辑修订(模式 C)改完文案后务必过一遍此项。

DOCX 生成关键格式参数

元素 字号 颜色 粗体
封面主标题 36pt #C55A11 是
封面副标题 26pt #8B4513 是
日标题 15pt #E46C0A 是
小节标题(行程描述/背景介绍) 12pt #8B4513 是
摄影要点标题 11pt #C55A11 是
正文 10.5pt #333333 否
摄影要点条目 10pt #333333 否
门票政策框内容 9pt #333333 否
表格表头 10pt #FFFFFF 是

图片生成提示

  • 封面:全景拼图风格,包含行程代表性景观
  • 景点:航拍视角或广角风光,黄金时段光线
  • 统一风格关键词:professional landscape photography, high detail, 4K
  • 图片宽度:封面 5.5 英寸,景点 5.8 英寸

常见问题

5 问
答案由本站依据条目字段整理
摄影采风路书制作怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_96ab2d80/roadbook-maker。安装方式为未标注。装完刷新技能列表或重开客户端。

摄影采风路书制作支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

摄影采风路书制作权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

摄影采风路书制作收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

摄影采风路书制作用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。