resume-builder
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseResume 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 ResumeBuilderpython
from scripts.resume_builder import ResumeBuilderBuild 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")
undefinedresume = ResumeBuilder.from_json("resume_data.json")
resume.generate().save("resume.pdf")
undefinedFeatures
功能特性
- 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
undefinedpython
undefinedBasic 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"
)
undefinedresume.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"
)
undefinedSummary/Objective
个人简介/求职目标
python
undefinedpython
undefinedProfessional 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."
)
undefinedresume.set_objective(
"Seeking a senior engineering role where I can leverage my "
"expertise in distributed systems and cloud architecture."
)
undefinedWork Experience
工作经历
python
undefinedpython
undefinedAdd 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"
])
undefinedresume.add_experience("Software Engineer", "Startup Inc", "2018-2020", [
"Built real-time notification system serving 1M+ users",
"Developed RESTful APIs using Python and FastAPI"
])
undefinedEducation
教育背景
python
undefinedpython
undefinedAdd 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"]
)
undefinedresume.add_education(
degree="M.S. Data Science",
school="Tech University",
year="2020",
coursework=["Machine Learning", "Statistical Analysis", "Big Data"]
)
undefinedSkills
技能
python
undefinedpython
undefinedSimple 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"]
})
undefinedresume.add_skills({
"Languages": ["Python", "JavaScript", "Go", "SQL"],
"Frameworks": ["React", "Django", "FastAPI"],
"Tools": ["Docker", "Kubernetes", "AWS", "Git"]
})
undefinedProjects
项目经历
python
undefinedpython
undefinedAdd 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
)
undefinedresume.add_project(
name="Open Source Library",
description="Data validation library with 1000+ GitHub stars",
technologies=["Python", "PyPI"],
url="github.com/user/project" # 可选
)
undefinedCertifications
证书
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
undefinedpython
undefinedLanguages
语言能力
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"
])
undefinedresume.add_custom_section("Awards", [
"Employee of the Year 2022",
"Hackathon Winner - Best Innovation"
])
undefinedTemplates and Styling
模板与样式
python
undefinedpython
undefinedSet 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)
undefinedresume.set_margins(top=0.5, bottom=0.5, left=0.6, right=0.6)
undefinedGeneration
生成简历
python
undefinedpython
undefinedGenerate and save
生成并保存
resume.generate().save("resume.pdf")
resume.generate().save("resume.pdf")
Get PDF bytes
获取PDF字节流
pdf_bytes = resume.to_bytes()
undefinedpdf_bytes = resume.to_bytes()
undefinedData 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
undefinedbash
undefinedFrom 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
undefinedpython resume_builder.py --quick --output resume.pdf
undefinedCLI Arguments
CLI参数
| Argument | Description | Default |
|---|---|---|
| Input JSON file | Required |
| Output PDF path | |
| Template style | |
| 参数 | 描述 | 默认值 |
|---|---|---|
| 输入JSON文件路径 | 必填 |
| 输出PDF文件路径 | |
| 模板样式 | |
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
最佳实践
- Keep it concise: 1 page for <10 years experience, 2 pages max
- Use action verbs: "Led", "Developed", "Improved", "Achieved"
- Quantify achievements: "Increased sales by 25%", "Managed team of 8"
- Tailor to job: Customize skills and summary for each application
- ATS-friendly: Use standard section headers, avoid tables/graphics
- 保持简洁:10年以下经验建议1页,最多不超过2页
- 使用动作动词:“主导”、“开发”、“优化”、“实现”
- 量化成果:“提升销售额25%”、“管理8人团队”
- 按需定制:针对每份申请调整技能和个人简介
- ATS友好:使用标准板块标题,避免表格/图形
Dependencies
依赖项
reportlab>=4.0.0
Pillow>=10.0.0reportlab>=4.0.0
Pillow>=10.0.0Limitations
局限性
- PDF output only
- English language optimized
- Maximum 2 pages
- No photo support (ATS best practice)
- 仅支持PDF输出
- 针对英文优化
- 最多支持2页
- 不支持添加照片(ATS最佳实践)