resume-builder

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Resume Builder

简历生成器

Create professional PDF resumes from structured data with multiple template styles. Supports JSON input, customizable sections, and ATS-friendly formatting.
从结构化数据创建带有多种模板样式的专业PDF简历。支持JSON输入、可自定义板块以及ATS友好的格式。

Quick Start

快速开始

python
from scripts.resume_builder import ResumeBuilder
python
from scripts.resume_builder import ResumeBuilder

Build resume programmatically

以编程方式生成简历

resume = ResumeBuilder() resume.set_contact("John Smith", "john@email.com", "555-123-4567", "San Francisco, CA") resume.set_summary("Experienced software engineer with 5+ years...") resume.add_experience("Software Engineer", "Tech Corp", "2020-Present", [ "Led development of microservices architecture", "Improved system performance by 40%" ]) resume.add_education("B.S. Computer Science", "State University", "2019") resume.add_skills(["Python", "JavaScript", "AWS", "Docker"]) resume.generate().save("resume.pdf")
resume = ResumeBuilder() resume.set_contact("John Smith", "john@email.com", "555-123-4567", "San Francisco, CA") resume.set_summary("Experienced software engineer with 5+ years...") resume.add_experience("Software Engineer", "Tech Corp", "2020-Present", [ "Led development of microservices architecture", "Improved system performance by 40%" ]) resume.add_education("B.S. Computer Science", "State University", "2019") resume.add_skills(["Python", "JavaScript", "AWS", "Docker"]) resume.generate().save("resume.pdf")

From JSON

从JSON生成

resume = ResumeBuilder.from_json("resume_data.json") resume.generate().save("resume.pdf")
undefined
resume = ResumeBuilder.from_json("resume_data.json") resume.generate().save("resume.pdf")
undefined

Features

功能特性

  • Multiple Templates: Modern, classic, minimal, executive styles
  • ATS-Friendly: Clean formatting that passes applicant tracking systems
  • Customizable Sections: Experience, education, skills, projects, certifications
  • Flexible Input: Python API or JSON data
  • Professional Output: Clean PDF with proper typography
  • Links: Clickable URLs for portfolio, LinkedIn, GitHub
  • 多种模板:现代、经典、极简、高管风格
  • ATS兼容:简洁格式可通过求职者跟踪系统(ATS)筛选
  • 可自定义板块:工作经历、教育背景、技能、项目、证书
  • 灵活输入:Python API或JSON数据
  • 专业输出:排版规范的清晰PDF文件
  • 链接支持:作品集、LinkedIn、GitHub等可点击URL

API Reference

API参考

Initialization

初始化

python
resume = ResumeBuilder()
resume = ResumeBuilder(template="modern")
resume = ResumeBuilder.from_json("data.json")
resume = ResumeBuilder.from_dict(data)
python
resume = ResumeBuilder()
resume = ResumeBuilder(template="modern")
resume = ResumeBuilder.from_json("data.json")
resume = ResumeBuilder.from_dict(data)

Contact Information

联系信息

python
undefined
python
undefined

Basic contact

基础联系信息

resume.set_contact( name="John Smith", email="john@email.com", phone="555-123-4567", location="San Francisco, CA" )
resume.set_contact( name="John Smith", email="john@email.com", phone="555-123-4567", location="San Francisco, CA" )

With links

带链接的联系信息

resume.set_contact( name="John Smith", email="john@email.com", phone="555-123-4567", location="San Francisco, CA", linkedin="linkedin.com/in/johnsmith", github="github.com/johnsmith", website="johnsmith.dev" )
undefined
resume.set_contact( name="John Smith", email="john@email.com", phone="555-123-4567", location="San Francisco, CA", linkedin="linkedin.com/in/johnsmith", github="github.com/johnsmith", website="johnsmith.dev" )
undefined

Summary/Objective

个人简介/求职目标

python
undefined
python
undefined

Professional summary

专业个人简介

resume.set_summary( "Experienced software engineer with 5+ years building scalable " "web applications. Passionate about clean code and mentoring." )
resume.set_summary( "Experienced software engineer with 5+ years building scalable " "web applications. Passionate about clean code and mentoring." )

Or objective statement

或求职目标

resume.set_objective( "Seeking a senior engineering role where I can leverage my " "expertise in distributed systems and cloud architecture." )
undefined
resume.set_objective( "Seeking a senior engineering role where I can leverage my " "expertise in distributed systems and cloud architecture." )
undefined

Work Experience

工作经历

python
undefined
python
undefined

Add experience entry

添加工作经历条目

resume.add_experience( title="Senior Software Engineer", company="Tech Corporation", dates="Jan 2020 - Present", bullets=[ "Led team of 5 engineers in developing microservices architecture", "Reduced API response time by 60% through optimization", "Implemented CI/CD pipeline reducing deployment time by 80%" ], location="San Francisco, CA" # Optional )
resume.add_experience( title="Senior Software Engineer", company="Tech Corporation", dates="Jan 2020 - Present", bullets=[ "Led team of 5 engineers in developing microservices architecture", "Reduced API response time by 60% through optimization", "Implemented CI/CD pipeline reducing deployment time by 80%" ], location="San Francisco, CA" # 可选 )

Multiple entries

添加多条工作经历

resume.add_experience("Software Engineer", "Startup Inc", "2018-2020", [ "Built real-time notification system serving 1M+ users", "Developed RESTful APIs using Python and FastAPI" ])
undefined
resume.add_experience("Software Engineer", "Startup Inc", "2018-2020", [ "Built real-time notification system serving 1M+ users", "Developed RESTful APIs using Python and FastAPI" ])
undefined

Education

教育背景

python
undefined
python
undefined

Add education

添加教育经历

resume.add_education( degree="Bachelor of Science in Computer Science", school="State University", year="2018", gpa="3.8", # Optional honors="Magna Cum Laude" # Optional )
resume.add_education( degree="Bachelor of Science in Computer Science", school="State University", year="2018", gpa="3.8", # 可选 honors="Magna Cum Laude" # 可选 )

With coursework

带课程的教育经历

resume.add_education( degree="M.S. Data Science", school="Tech University", year="2020", coursework=["Machine Learning", "Statistical Analysis", "Big Data"] )
undefined
resume.add_education( degree="M.S. Data Science", school="Tech University", year="2020", coursework=["Machine Learning", "Statistical Analysis", "Big Data"] )
undefined

Skills

技能

python
undefined
python
undefined

Simple skills list

简单技能列表

resume.add_skills(["Python", "JavaScript", "React", "AWS", "Docker"])
resume.add_skills(["Python", "JavaScript", "React", "AWS", "Docker"])

Categorized skills

分类技能

resume.add_skills({ "Languages": ["Python", "JavaScript", "Go", "SQL"], "Frameworks": ["React", "Django", "FastAPI"], "Tools": ["Docker", "Kubernetes", "AWS", "Git"] })
undefined
resume.add_skills({ "Languages": ["Python", "JavaScript", "Go", "SQL"], "Frameworks": ["React", "Django", "FastAPI"], "Tools": ["Docker", "Kubernetes", "AWS", "Git"] })
undefined

Projects

项目经历

python
undefined
python
undefined

Add project

添加项目

resume.add_project( name="Open Source Library", description="Data validation library with 1000+ GitHub stars", technologies=["Python", "PyPI"], url="github.com/user/project" # Optional )
undefined
resume.add_project( name="Open Source Library", description="Data validation library with 1000+ GitHub stars", technologies=["Python", "PyPI"], url="github.com/user/project" # 可选 )
undefined

Certifications

证书

python
resume.add_certification("AWS Solutions Architect", "Amazon", "2023")
resume.add_certification("Professional Scrum Master", "Scrum.org", "2022")
python
resume.add_certification("AWS Solutions Architect", "Amazon", "2023")
resume.add_certification("Professional Scrum Master", "Scrum.org", "2022")

Additional Sections

额外板块

python
undefined
python
undefined

Languages

语言能力

resume.add_languages(["English (Native)", "Spanish (Fluent)", "French (Basic)"])
resume.add_languages(["English (Native)", "Spanish (Fluent)", "French (Basic)"])

Volunteer experience

志愿经历

resume.add_volunteer( role="Tech Mentor", organization="Code for Good", dates="2021 - Present", description="Mentor underrepresented students in programming" )
resume.add_volunteer( role="Tech Mentor", organization="Code for Good", dates="2021 - Present", description="Mentor underrepresented students in programming" )

Publications

出版物

resume.add_publication( title="Scaling Microservices", venue="Tech Blog", year="2023", url="blog.com/article" )
resume.add_publication( title="Scaling Microservices", venue="Tech Blog", year="2023", url="blog.com/article" )

Custom section

自定义板块

resume.add_custom_section("Awards", [ "Employee of the Year 2022", "Hackathon Winner - Best Innovation" ])
undefined
resume.add_custom_section("Awards", [ "Employee of the Year 2022", "Hackathon Winner - Best Innovation" ])
undefined

Templates and Styling

模板与样式

python
undefined
python
undefined

Set template

设置模板

resume.set_template("modern") # Clean, contemporary resume.set_template("classic") # Traditional, formal resume.set_template("minimal") # Simple, ATS-optimized resume.set_template("executive") # Premium, senior roles
resume.set_template("modern") # 简洁现代风 resume.set_template("classic") # 传统正式风 resume.set_template("minimal") # 极简ATS优化风 resume.set_template("executive") # 高端高管风

Custom colors

自定义颜色

resume.set_colors( primary="#2563eb", # Headers text="#333333" # Body text )
resume.set_colors( primary="#2563eb", # 标题颜色 text="#333333" # 正文字体颜色 )

Margins

设置边距

resume.set_margins(top=0.5, bottom=0.5, left=0.6, right=0.6)
undefined
resume.set_margins(top=0.5, bottom=0.5, left=0.6, right=0.6)
undefined

Generation

生成简历

python
undefined
python
undefined

Generate and save

生成并保存

resume.generate().save("resume.pdf")
resume.generate().save("resume.pdf")

Get PDF bytes

获取PDF字节流

pdf_bytes = resume.to_bytes()
undefined
pdf_bytes = resume.to_bytes()
undefined

Data Formats

数据格式

JSON Format

JSON格式

json
{
  "contact": {
    "name": "John Smith",
    "email": "john@email.com",
    "phone": "555-123-4567",
    "location": "San Francisco, CA",
    "linkedin": "linkedin.com/in/johnsmith",
    "github": "github.com/johnsmith"
  },
  "summary": "Experienced software engineer...",
  "experience": [
    {
      "title": "Senior Software Engineer",
      "company": "Tech Corp",
      "dates": "2020 - Present",
      "location": "San Francisco, CA",
      "bullets": [
        "Led development of microservices",
        "Improved performance by 40%"
      ]
    }
  ],
  "education": [
    {
      "degree": "B.S. Computer Science",
      "school": "State University",
      "year": "2018",
      "gpa": "3.8"
    }
  ],
  "skills": {
    "Languages": ["Python", "JavaScript"],
    "Frameworks": ["React", "Django"]
  },
  "projects": [
    {
      "name": "Open Source Tool",
      "description": "Description here",
      "technologies": ["Python"],
      "url": "github.com/project"
    }
  ],
  "certifications": [
    {
      "name": "AWS Certified",
      "issuer": "Amazon",
      "year": "2023"
    }
  ]
}
json
{
  "contact": {
    "name": "John Smith",
    "email": "john@email.com",
    "phone": "555-123-4567",
    "location": "San Francisco, CA",
    "linkedin": "linkedin.com/in/johnsmith",
    "github": "github.com/johnsmith"
  },
  "summary": "Experienced software engineer...",
  "experience": [
    {
      "title": "Senior Software Engineer",
      "company": "Tech Corp",
      "dates": "2020 - Present",
      "location": "San Francisco, CA",
      "bullets": [
        "Led development of microservices",
        "Improved performance by 40%"
      ]
    }
  ],
  "education": [
    {
      "degree": "B.S. Computer Science",
      "school": "State University",
      "year": "2018",
      "gpa": "3.8"
    }
  ],
  "skills": {
    "Languages": ["Python", "JavaScript"],
    "Frameworks": ["React", "Django"]
  },
  "projects": [
    {
      "name": "Open Source Tool",
      "description": "Description here",
      "technologies": ["Python"],
      "url": "github.com/project"
    }
  ],
  "certifications": [
    {
      "name": "AWS Certified",
      "issuer": "Amazon",
      "year": "2023"
    }
  ]
}

CLI Usage

CLI使用方法

bash
undefined
bash
undefined

From JSON file

从JSON文件生成

python resume_builder.py --input resume.json --output resume.pdf
python resume_builder.py --input resume.json --output resume.pdf

With template

指定模板生成

python resume_builder.py --input data.json --template modern --output resume.pdf
python resume_builder.py --input data.json --template modern --output resume.pdf

Quick resume (interactive prompts)

快速生成简历(交互式提示)

python resume_builder.py --quick --output resume.pdf
undefined
python resume_builder.py --quick --output resume.pdf
undefined

CLI Arguments

CLI参数

ArgumentDescriptionDefault
--input
Input JSON fileRequired
--output
Output PDF path
resume.pdf
--template
Template style
modern
参数描述默认值
--input
输入JSON文件路径必填
--output
输出PDF文件路径
resume.pdf
--template
模板样式
modern

Templates

模板介绍

Modern

现代模板

  • Clean sans-serif typography
  • Blue accent color
  • Clear section headers
  • Good for tech roles
  • 简洁无衬线字体
  • 蓝色强调色
  • 清晰的板块标题
  • 适合技术岗位

Classic

经典模板

  • Traditional serif fonts
  • Black and gray colors
  • Formal layout
  • Good for traditional industries
  • 传统衬线字体
  • 黑灰配色
  • 正式布局
  • 适合传统行业

Minimal

极简模板

  • Maximum ATS compatibility
  • Simple formatting
  • No colors or graphics
  • Best for online applications
  • 最高ATS兼容性
  • 简单格式
  • 无颜色或图形
  • 最适合在线申请

Executive

高管模板

  • Premium appearance
  • Elegant typography
  • Subtle accents
  • Good for senior roles
  • 高端质感
  • 优雅字体
  • 低调强调色
  • 适合资深岗位

Best Practices

最佳实践

  1. Keep it concise: 1 page for <10 years experience, 2 pages max
  2. Use action verbs: "Led", "Developed", "Improved", "Achieved"
  3. Quantify achievements: "Increased sales by 25%", "Managed team of 8"
  4. Tailor to job: Customize skills and summary for each application
  5. ATS-friendly: Use standard section headers, avoid tables/graphics
  1. 保持简洁:10年以下经验建议1页,最多不超过2页
  2. 使用动作动词:“主导”、“开发”、“优化”、“实现”
  3. 量化成果:“提升销售额25%”、“管理8人团队”
  4. 按需定制:针对每份申请调整技能和个人简介
  5. ATS友好:使用标准板块标题,避免表格/图形

Dependencies

依赖项

reportlab>=4.0.0
Pillow>=10.0.0
reportlab>=4.0.0
Pillow>=10.0.0

Limitations

局限性

  • PDF output only
  • English language optimized
  • Maximum 2 pages
  • No photo support (ATS best practice)
  • 仅支持PDF输出
  • 针对英文优化
  • 最多支持2页
  • 不支持添加照片(ATS最佳实践)