Professional resume generator. Use when user needs to create, optimize, or customize resumes for job applications. Supports Word and PDF output, multiple styles, industry templates, and ATS-friendly formats. 简历生成、求职简历、简历优化。
专业简历生成器,支持ATS友好模板、多种样式,可输出Word/PDF格式。
Agent采集:
python
from docx import Document
from docx.shared import Pt, Cm, RGBColor
from docx.enum.text import WDALIGNPARAGRAPH
from fpdf import FPDF
import os
class ResumeGenerator:
def init(self, style=modern):
self.style = style
self.data = {}
def setbasicinfo(self, name, phone, email, location=):
self.data[name] = name
self.data[phone] = phone
self.data[email] = email
self.data[location] = location
def add_education(self, school, degree, major, year, gpa=None):
if education not in self.data:
self.data[education] = []
self.data[education].append({
school: school,
degree: degree,
major: major,
year: year,
gpa: gpa
})
def add_experience(self, company, position, duration, responsibilities):
if experience not in self.data:
self.data[experience] = []
self.data[experience].append({
company: company,
position: position,
duration: duration,
responsibilities: responsibilities
})
def set_skills(self, technical=[], languages=[], certifications=[]):
self.data[skills] = {
technical: technical,
languages: languages,
certifications: certifications
}
def generatedocx(self, outputpath):
doc = Document()
# 姓名
namepara = doc.addparagraph()
namepara.alignment = WDALIGN_PARAGRAPH.CENTER
namerun = namepara.add_run(self.data.get(name, 姓名))
name_run.font.size = Pt(24)
name_run.bold = True
# 联系方式
contact = doc.add_paragraph()
contact.alignment = WDALIGNPARAGRAPH.CENTER
contact_text = f{self.data.get(phone, )} | {self.data.get(email, )}
if self.data.get(location):
contact_text += f | {self.data[location]}
contact.addrun(contacttext)
doc.add_paragraph()
# 教育经历
doc.add_heading(教育经历, level=2)
for edu in self.data.get(education, []):
doc.add_paragraph(f{edu[school]} - {edu[degree]} {edu[major]}专业({edu[year]}))
# 工作经历
doc.add_heading(工作经历, level=2)
for exp in self.data.get(experience, []):
doc.add_heading(f{exp[position]} - {exp[company]}, level=3)
doc.add_paragraph(f时间:{exp[duration]})
for resp in exp[responsibilities]:
doc.add_paragraph(f• {resp})
# 技能
doc.add_heading(技能, level=2)
skills = self.data.get(skills, {})
if skills.get(technical):
doc.add_paragraph(f技术:{, .join(skills[technical])})
if skills.get(languages):
doc.add_paragraph(f语言:{, .join(skills[languages])})
if skills.get(certifications):
doc.add_paragraph(f证书:{, .join(skills[certifications])})
doc.save(output_path)
return output_path
def generatepdf(self, outputpath):
pdf = FPDF()
pdf.add_page()
# 姓名
pdf.set_font(Helvetica, B, 20)
pdf.cell(0, 15, self.data.get(name, 姓名), newx=LMARGIN, newy=NEXT, align=C)
# 联系方式
pdf.set_font(Helvetica, , 10)
contact = f{self.data.get(phone, )} | {self.data.get(email, )}
pdf.cell(0, 8, contact, newx=LMARGIN, newy=NEXT, align=C)
pdf.ln(10)
# 教育经历
pdf.set_font(Helvetica, B, 14)
pdf.cell(0, 8, 教育经历, newx=LMARGIN, newy=NEXT)
pdf.ln(3)
pdf.set_font(Helvetica, , 11)
for edu in self.data.get(education, []):
pdf.cell(0, 6, f{edu[school]} - {edu[degree]}, newx=LMARGIN, newy=NEXT)
pdf.ln(8)
# 工作经历
pdf.set_font(Helvetica, B, 14)
pdf.cell(0, 8, 工作经历, newx=LMARGIN, newy=NEXT)
pdf.ln(3)
pdf.set_font(Helvetica, , 11)
for exp in self.data.get(experience, []):
pdf.set_font(Helvetica, B, 11)
pdf.cell(0, 6, f{exp[position]} - {exp[company]}, newx=LMARGIN, newy=NEXT)
pdf.set_font(Helvetica, , 10)
pdf.cell(0, 5, f时间:{exp[duration]}, newx=LMARGIN, newy=NEXT)
for resp in exp[responsibilities]:
pdf.cell(0, 5, f • {resp}, newx=LMARGIN, newy=NEXT)
pdf.ln(5)
pdf.ln(8)
# 技能
pdf.set_font(Helvetica, B, 14)
pdf.cell(0, 8, 技能, newx=LMARGIN, newy=NEXT)
pdf.ln(3)
pdf.set_font(Helvetica, , 11)
skills = self.data.get(skills, {})
if skills.get(technical):
pdf.cell(0, 6, f技术:{, .join(skills[technical])}, newx=LMARGIN, newy=NEXT)
if skills.get(languages):
pdf.cell(0, 6, f语言:{, .join(skills[languages])}, newx=LMARGIN, newy=NEXT)
pdf.output(output_path)
return output_path
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 resume-studio-1775974801 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 resume-studio-1775974801 技能
skillhub install resume-studio-1775974801
文件大小: 3.86 KB | 发布时间: 2026-4-13 11:48