一个使用Python生成专业PDF简历的工具,支持中文和多种主题。
- 🎨 5种专业主题:professional、creative、modern、classic、simple
- 🇨🇳 完整中文支持:自动字体检测,完美显示中文内容
- 🖥️ 多种使用方式:命令行、图形界面、交互式选择
- 📄 高质量PDF:基于ReportLab,专业级输出
- 🔧 灵活配置:易于自定义的配置文件系统
- 🧪 完整测试:包含字体测试、功能验证等工具
resume-generator/
├── main.py # 主程序入口
├── requirements.txt # 项目依赖
├── README.md # 项目说明
│
├── src/ # 核心代码
│ ├── resume_generator.py # 简历生成核心类
│ └── resume_config.py # 简历配置文件
│
├── generators/ # 各种生成器
│ ├── advanced_generator.py # 多主题生成器
│ ├── gui_generator.py # GUI图形界面
│ └── chinese_resume_generator.py # 中文优化生成器
│
├── tests/ # 测试工具
│ ├── test_generator.py # 基础功能测试
│ ├── font_tester.py # 字体测试工具
│ ├── chinese_verification.py # 中文显示验证
│ └── final_font_fix.py # 字体问题诊断
│
├── outputs/ # 输出文件
│ ├── final_resumes/ # 最终简历PDF
│ └── test_pdfs/ # 测试生成的PDF
│
├── docs/ # 文档
│ ├── FONT_GUIDE.md # 字体支持指南
│ └── PROJECT_SUMMARY.md # 项目总结
│
└── fonts/ # 字体文件目录(可选)
- 📝 使用Python自动生成专业的PDF简历
- 🎨 现代化的简历设计,支持中文
- 🔧 易于自定义的配置文件
- 📋 包含完整的简历章节(个人信息、工作经历、教育背景、技能等)
- 🌈 支持自定义颜色和样式
- 📊 自动格式化和排版
pip install -r requirements.txt如果PDF中的中文显示不正常(显示为方框或空白),请按以下步骤解决:
-
运行字体测试:
python tests/font_tester.py
-
查看字体支持指南:
cat docs/FONT_GUIDE.md
-
测试中文显示:
python tests/test_generator.py
当前版本已自动优化中文字体支持,会按优先级自动选择:
- 系统中文字体(PingFang、Arial Unicode MS等)
- 内置CID字体(STSong-Light等)
- 用户指定字体
./start.sh这个交互式脚本提供了所有功能的便捷入口,包括:
- 生成基础简历
- 多主题生成
- 测试工具
- 项目管理
-
编辑个人信息: 修改
src/resume_config.py文件中的个人信息、工作经历、教育背景等。 -
生成简历:
python main.py
-
查看生成的PDF: 程序会生成PDF文件到
outputs/final_resumes/目录中。
-
运行图形界面:
python generators/gui_generator.py
-
在界面中填写信息: 使用图形界面直接输入个人信息和职业目标。
-
点击生成按钮: 选择保存位置并生成PDF。
-
查看可用主题:
python generators/advanced_generator.py themes
-
生成特定主题简历:
python generators/advanced_generator.py generate professional
-
生成所有主题简历:
python generators/advanced_generator.py generate-all
运行交互式主题选择器,可以轻松选择和生成不同主题:
python theme_generator.py| 主题名称 | 描述 | 特色 |
|---|---|---|
| professional | 专业蓝色主题 | 商务正式,适合传统行业 |
| creative | 创意紫红主题 | 个性突出,适合创意行业 |
| modern | 现代绿橙主题 | 时尚现代,适合科技行业 |
| classic | 经典黑灰主题 | 简洁经典,通用性强 |
| simple | 简约灰色主题 | 双栏布局,信息展示效果佳 |
Simple主题采用独特的双栏布局设计:
- 左栏: 个人信息、联系方式、技能、教育背景
- 右栏: 自我介绍、工作经历、项目经历
- 视觉效果: 左栏浅灰背景,右栏白色背景
- 适用场景: 信息量大、需要突出技能的简历
生成Simple主题:
python generators/advanced_generator.py generate simple详细文档请参考:Simple主题使用指南
在 src/resume_config.py 中修改 PERSONAL_INFO 字典:
PERSONAL_INFO = {
"name": "您的姓名",
"phone": "您的电话号码",
"email": "您的邮箱地址",
"address": "您的地址",
"linkedin": "您的LinkedIn地址",
"github": "您的GitHub地址"
}在 EXPERIENCE 列表中添加您的工作经历:
EXPERIENCE = [
{
"position": "软件工程师",
"company": "ABC公司",
"duration": "2022-至今",
"description": [
"负责后端开发工作",
"参与系统架构设计",
"指导团队成员"
]
}
]在 SKILLS 字典中按类别组织您的技能:
SKILLS = {
"编程语言": ["Python", "JavaScript", "Java"],
"Web框架": ["Django", "Flask", "React"],
"数据库": ["MySQL", "PostgreSQL", "MongoDB"],
"工具与技术": ["Git", "Docker", "Linux"]
}在 resume_generator.py 中的 ResumeGenerator 类中,您可以:
- 修改颜色主题(
primary_color,accent_color) - 调整字体大小和间距
- 改变页面布局
您可以在 ResumeGenerator 类中添加新的方法来支持更多章节,如:
- 语言能力
- 兴趣爱好
- 志愿服务经历
- 发表论文
如果您有中文字体文件(TTF格式),可以在创建生成器时指定:
generator = ResumeGenerator(font_path="/path/to/your/font.ttf")运行程序后,会生成一个类似以下结构的简历:
- 个人信息 - 姓名、联系方式
- 职业目标 - 求职意向
- 工作经历 - 工作经验和成就
- 教育背景 - 学历信息
- 专业技能 - 技术技能分类
- 项目经历 - 重要项目经验
- 证书资格 - 相关认证
- 请确保Python版本为3.6或更高
- 如果生成的PDF中文显示有问题,建议安装中文字体
- 可以根据需要调整页面边距和字体大小
- 建议将个人敏感信息(如真实联系方式)从配置文件中移除后再分享代码
reportlab: PDF生成库Pillow: 图像处理库(reportlab的依赖)python-dateutil: 日期处理库
本项目遵循MIT许可证。
我们欢迎各种形式的贡献!请查看 CONTRIBUTING.md 了解如何参与项目。
- 🐛 报告bug
- 💡 提出新功能建议
- 🎨 添加新的简历主题
- 📚 改进文档
- 🔧 提交代码修复
如果这个项目对您有帮助,请给我们一个星标!⭐
- 📖 查看文档获取详细信息
- 🐛 在Issues中报告问题
- 💬 在Discussions中提问交流
开始使用:
- 克隆或下载项目
- 安装依赖:
pip install -r requirements.txt - 编辑配置:修改
src/resume_config.py - 生成简历:
python main.py
享受制作专业简历的过程! 🎉