Skip to content

aybeering/python-resume-generator

Repository files navigation

简历生成器

Python License Platform

一个使用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中的中文显示不正常(显示为方框或空白),请按以下步骤解决:

  1. 运行字体测试

    python tests/font_tester.py
  2. 查看字体支持指南

    cat docs/FONT_GUIDE.md
  3. 测试中文显示

    python tests/test_generator.py

当前版本已自动优化中文字体支持,会按优先级自动选择:

  • 系统中文字体(PingFang、Arial Unicode MS等)
  • 内置CID字体(STSong-Light等)
  • 用户指定字体

快速开始

🎯 方法零:一键启动脚本(最简单)

./start.sh

这个交互式脚本提供了所有功能的便捷入口,包括:

  • 生成基础简历
  • 多主题生成
  • 测试工具
  • 项目管理

方法一:命令行版本(推荐)

  1. 编辑个人信息: 修改 src/resume_config.py 文件中的个人信息、工作经历、教育背景等。

  2. 生成简历

    python main.py
  3. 查看生成的PDF: 程序会生成PDF文件到 outputs/final_resumes/ 目录中。

方法二:图形界面版本

  1. 运行图形界面

    python generators/gui_generator.py
  2. 在界面中填写信息: 使用图形界面直接输入个人信息和职业目标。

  3. 点击生成按钮: 选择保存位置并生成PDF。

方法三:高级多主题版本

  1. 查看可用主题

    python generators/advanced_generator.py themes
  2. 生成特定主题简历

    python generators/advanced_generator.py generate professional
  3. 生成所有主题简历

    python generators/advanced_generator.py generate-all

方法四:交互式主题选择器

运行交互式主题选择器,可以轻松选择和生成不同主题:

python theme_generator.py

🎨 可用主题

主题名称 描述 特色
professional 专业蓝色主题 商务正式,适合传统行业
creative 创意紫红主题 个性突出,适合创意行业
modern 现代绿橙主题 时尚现代,适合科技行业
classic 经典黑灰主题 简洁经典,通用性强
simple 简约灰色主题 双栏布局,信息展示效果佳

⭐ Simple主题特色

Simple主题采用独特的双栏布局设计

  • 左栏: 个人信息、联系方式、技能、教育背景
  • 右栏: 自我介绍、工作经历、项目经历
  • 视觉效果: 左栏浅灰背景,右栏白色背景
  • 适用场景: 信息量大、需要突出技能的简历

生成Simple主题:

python generators/advanced_generator.py generate simple

详细文档请参考:Simple主题使用指南

自定义配置

1. 个人信息配置

src/resume_config.py 中修改 PERSONAL_INFO 字典:

PERSONAL_INFO = {
    "name": "您的姓名",
    "phone": "您的电话号码",
    "email": "您的邮箱地址",
    "address": "您的地址",
    "linkedin": "您的LinkedIn地址",
    "github": "您的GitHub地址"
}

2. 工作经历配置

EXPERIENCE 列表中添加您的工作经历:

EXPERIENCE = [
    {
        "position": "软件工程师",
        "company": "ABC公司",
        "duration": "2022-至今",
        "description": [
            "负责后端开发工作",
            "参与系统架构设计",
            "指导团队成员"
        ]
    }
]

3. 技能配置

SKILLS 字典中按类别组织您的技能:

SKILLS = {
    "编程语言": ["Python", "JavaScript", "Java"],
    "Web框架": ["Django", "Flask", "React"],
    "数据库": ["MySQL", "PostgreSQL", "MongoDB"],
    "工具与技术": ["Git", "Docker", "Linux"]
}

高级自定义

1. 修改样式

resume_generator.py 中的 ResumeGenerator 类中,您可以:

  • 修改颜色主题(primary_color, accent_color
  • 调整字体大小和间距
  • 改变页面布局

2. 添加新章节

您可以在 ResumeGenerator 类中添加新的方法来支持更多章节,如:

  • 语言能力
  • 兴趣爱好
  • 志愿服务经历
  • 发表论文

3. 使用自定义字体

如果您有中文字体文件(TTF格式),可以在创建生成器时指定:

generator = ResumeGenerator(font_path="/path/to/your/font.ttf")

示例

运行程序后,会生成一个类似以下结构的简历:

  1. 个人信息 - 姓名、联系方式
  2. 职业目标 - 求职意向
  3. 工作经历 - 工作经验和成就
  4. 教育背景 - 学历信息
  5. 专业技能 - 技术技能分类
  6. 项目经历 - 重要项目经验
  7. 证书资格 - 相关认证

注意事项

  1. 请确保Python版本为3.6或更高
  2. 如果生成的PDF中文显示有问题,建议安装中文字体
  3. 可以根据需要调整页面边距和字体大小
  4. 建议将个人敏感信息(如真实联系方式)从配置文件中移除后再分享代码

依赖包说明

  • reportlab: PDF生成库
  • Pillow: 图像处理库(reportlab的依赖)
  • python-dateutil: 日期处理库

许可证

本项目遵循MIT许可证。

贡献

我们欢迎各种形式的贡献!请查看 CONTRIBUTING.md 了解如何参与项目。

如何贡献

  • 🐛 报告bug
  • 💡 提出新功能建议
  • 🎨 添加新的简历主题
  • 📚 改进文档
  • 🔧 提交代码修复

⭐ 支持项目

如果这个项目对您有帮助,请给我们一个星标!⭐

📞 获取帮助


开始使用:

  1. 克隆或下载项目
  2. 安装依赖:pip install -r requirements.txt
  3. 编辑配置:修改 src/resume_config.py
  4. 生成简历:python main.py

享受制作专业简历的过程! 🎉

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published