用户:
叶铧烨查看:0 回复:0 评论:0 创建时间:2023-04-22T14:16:17
必要安装的其他库:reportlab
字体(如果有别的字体可以更改代码):fangzheng.TTF
源代码 :
from reportlab.pdfgen import canvas
from reportlab.lib import colors
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase.pdfmetrics import registerFont
import webbrowser,os
ops_year=[]
for i in range(1950,2024):
ops_year.append(str(i)+'-')
ops_months=[]
for j in range(1,13):
ops_months.append(str(j)+"-")
ops_days=[]
for k in range(1,32):
ops_days.append(str(k))
registerFont(TTFont('fz', 'fangzheng.TTF'))
c=canvas.Canvas("form.pdf")
c.setTitle("个人资料")
c.setAuthor("叶铧烨(codemao_name:William429)")
c.setSubject("个人资料")
c.setKeywords(["最简化","qwerty"])
c.setFont('fz', 15)
c.drawString(298,800,'个人资料')
form = c.acroForm
c.drawString(200,700,'姓名:')
form.textfield(x=300,y=680,fillColor=colors.white)
c.drawString(200,600,'出生日期:')
form.choice(x=300,y=580,width=50,value='2010-',options=ops_year)
form.choice(x=350,y=580,width=50,value='1-',options=ops_months)
form.choice(x=400,y=580,width=50,value='1',options=ops_days)
c.drawString(200,500,'性别:')
c.drawString(300,500,'男')
form.checkbox(x=320,y=495,buttonStyle='check')
c.drawString(400,500,'女')
form.checkbox(x=420,y=495,buttonStyle='check')
c.drawString(200,400,'证件类型:')
form.choice(x=300,y=380,value='CNID',options=['CNID','HK/MC PASSPORT','TAIWAN PASSPORT','FOREIGN PASSPORT'])
c.drawString(200,300,'证件号码:')
form.textfield(x=300,y=280,width=150,fillColor=colors.white)
c.drawString(200,200,'目前住址:')
form.textfield(x=300,y=180,fillColor=colors.white)
c.drawString(200,100,'婚宴状况:')
c.drawString(300,100,'已婚')
form.checkbox(x=335,y=95,buttonStyle='check')
c.drawString(400,100,'未婚')
form.checkbox(x=435,y=95,buttonStyle='check')
c.save()
webbrowser.open("file://"+os.path.realpath("form.pdf"))