简历批量生成器
为学员生成教学演示用简历。真实信息(姓名、年龄、学历、联系方式)来自输入;
经历和技能从固定素材池随机组合;时间线按学历推算(首份工作不早于毕业),保证合理不穿帮。
快速用法
脚本位置:.agents/skills/resume-generator/scripts/generate.py
# 单个:一段自由文字(支持"张三 25岁 大专 电话138xxxxxxxx"这种随意写法)
python3 scripts/generate.py --text "张三 25岁 女 大专 电话13853712345" --theme random --out output/
# 单个:JSON 文件(适合结构化输入)
python3 scripts/generate.py --json person.json --theme navy --out output/
# 批量:Excel(列名:姓名、性别、年龄、学历、电话、邮箱、住址、求职意向、照片)
python3 generate.py --excel 学员.xlsx --theme random --out output/
--theme:navy(深蓝商务)/amber(暖黄侧栏)/sky(清新浅蓝)/random(默认,每人随机);
旧主题名 classic/fresh/elegant 自动映射,无需处理--photo-dir 目录:按<姓名>.jpg/png匹配学员照片--no-photo:不放照片(模板自动退化为无照片版式)--seed N:固定随机种子,便于复现- 每人输出两个文件:
姓名.pdf+姓名.docx,重名自动加编号
三款模板
| 主题 | 风格 |
|---|---|
navy 深蓝商务 |
深蓝横幅+金棕饰条,白框证件照压横幅左上,栏目标题带图标+通栏细线 |
amber 暖黄侧栏 |
左 1/3 奶油黄侧栏(拱顶证件照+联系方式+求职意向/证书/自我评价),右主栏竖条底纹标题 |
sky 清新浅蓝 |
浅蓝头图带建筑水印(PIL 实时合成姓名/信息/照片),正文时间左、单位右 |
三款均为单页 A4 设计,正文密度已按 2~3 段经历调校;生成后如需自查可用
python3 -c "import fitz; print(len(fitz.open('xxx.pdf')))" 确认页数为 1。
照片规则(已内置,无需人工干预)
优先级从高到低:
- 用户提供的照片:JSON 的
"photo"字段、Excel 的「照片」列(文件路径); --photo-dir文件夹中按<姓名>.jpg/png匹配;- 内置证件照库
assets/photos/(男 5 张 / 女 5 张,按性别自动随机分配;Unsplash/Pexels 免费商用素材)。
素材如需扩充,把新的 5:7 比例证件照放进 assets/photos/male/ 或 female/ 即可。
自由文本解析失败时
--text 的正则解析覆盖常见写法(岁数、手机号、邮箱、学历关键词、住址、意向)。
如果用户输入太随意导致解析失败(尤其姓名识别错误),改为自己从文本中提取字段,
写成临时 JSON 再用 --json 传入:
{"name": "张三", "age": 25, "degree": "大专", "phone": "13853712345",
"email": null, "address": null, "intention": null, "gender": "男"}
缺的字段留 null,脚本会自动生成模拟值(随机手机号、QQ 邮箱、城市、性别等)。
内容生成规则(已内置在脚本里,无需人工干预)
- 公司/岗位:12 家虚构财务类公司、6 种财务岗位(会计/出纳/税务专员/往来会计/成本会计/财务助理),每岗位 2 套工作描述,同人不重复同一套
- 时间线:高中/中专 18 岁起步,大专 21 岁,本科 22 岁;2~3 段经历,时间连续不重叠,首份工作不早于毕业当年;年纪大者只展示最近几段
- 项目经历:从 6 个财务专项里随机 1 个,落在最近一段工作时间内
- 技能/证书/自我评价/主修课程:按学历匹配对应池子随机抽取
- 期望薪资:按经验年限给合理区间
如需扩充素材(加公司、岗位、技能、项目),编辑 scripts/pools.py,池子结构自解释。
依赖
python-docx、openpyxl、xhtml2pdf、Pillow(均已安装)。
pymupdf 可选:仅用于给暖黄侧栏款 PDF 的侧栏底色补满整页(缺失时只是底色不满页,不影响内容)。
中文字体已随 skill 内置(assets/fonts/ 下的 Noto Sans SC),PDF 渲染时自动复制到临时目录使用;
docx 的中文字体声明为微软雅黑(Windows/WPS 常见字体,缺失时 Word/WPS 会自动替换)。
注意
- xhtml2pdf 的已知怪癖(改模板样式时留意):不要给 td 设 padding-top/bottom(会被套用到格内每个段落,表现为行距异常变大),顶部留白改用首个元素的 margin 实现;表格单元格背景色无法贯通整页
- 生成的简历为教学演示用的模拟数据(虚构公司、随机联系方式、素材库人像),不要用于真实求职投递