如何基于python把文字图片写入word文档
安装代码
pipinstallpython-docx
1.批量化往word文件中添加大批量重复的数据
fromdocximportDocument fromdocx.enum.textimportWD_ALIGN_PARAGRAPH fromdocx.sharedimportPt#磅数 fromdocx.oxml.nsimportqn#中文格式 #以上是docx库中需要用到的部分 importtime price=input('请输入今日价格:') company_list=['客户1','客户2','客户3','客户4','客户5','客户6'] today1=time.strftime("%Y-%m-%d",time.localtime()) today2=time.strftime("%Y/%m/%d",time.localtime()) today=time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年',m='月',d='日') foriincompany_list: document=Document() #设置文档的基础字体中文 document.styles['Normal'].font.name=u'宋体' #设置文档的基础字体西文 document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体') #初始化建立第一个自然段 pl=document.add_paragraph() #对齐方式为居中,没有这句话默认左对齐 pl.alignment=WD_ALIGN_PARAGRAPH.CENTER run1=pl.add_run('关于下达%s产品价格的通知'%(today)) run1.font.name='微软雅黑' run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑') run1.font.size=Pt(21) #是否加粗 run1.font.bold=True #前后距离5磅 pl.space_before=Pt(5) pl.space_after=Pt(5) #初始化建立第二个自然段 p2=document.add_paragraph() run2=p2.add_run(i+":") #对客户的称呼 run2.font.name='仿宋_GB2312' run2.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run2.font.size=Pt(16) #是否加粗 run2.font.bold=True #初始化建立第三个自然段 p3=document.add_paragraph() run3=p3.add_run("根据公司安排,为提供优质客户服务,我单位拟定了今日黄金价格为%s元,特此通知."%price) #对客户的称呼 run3.font.name='仿宋_GB2312' run3.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run3.font.size=Pt(16) #是否加粗 run3.font.bold=True #初始化建立第四个自然段 p4=document.add_paragraph() #对齐方式为居中,没有这句话默认左对齐 p4.alignment=WD_ALIGN_PARAGRAPH.CENTER run4=p4.add_run("(联系人:小杨电话:18888888888)") #对客户的称呼 run4.font.name='仿宋_GB2312' run4.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run4.font.size=Pt(16) #是否加粗 run4.font.bold=True document.save('%s-价格通知.docx'%i)
2.添加图片
fromdocximportDocument fromdocx.enum.textimportWD_ALIGN_PARAGRAPH fromdocx.sharedimportPt#磅数 fromdocx.oxml.nsimportqn#中文格式 fromdocx.sharedimportInches#图片尺寸 #以上是docx库中需要用到的部分 importtime price=input('请输入今日价格:') company_list=['客户1','客户2','客户3','客户4','客户5','客户6'] today=time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年',m='月',d='日') foriincompany_list: document=Document() #设置文档的基础字体中文 document.styles['Normal'].font.name=u'宋体' #设置文档的基础样式 document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体') document.add_picture('banner.jpg',width=Inches(6)) #初始化建立第一个自然段 pl=document.add_paragraph() #对齐方式为居中,没有这句话默认左对齐 pl.alignment=WD_ALIGN_PARAGRAPH.CENTER run1=pl.add_run('关于下达%s产品价格的通知'%(today)) run1.font.name='微软雅黑' run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑') run1.font.size=Pt(21) #是否加粗 run1.font.bold=True #前后距离5磅 pl.space_before=Pt(5) pl.space_after=Pt(5) #初始化建立第二个自然段 p2=document.add_paragraph() run2=p2.add_run(i+":") #对客户的称呼 run2.font.name='仿宋_GB2312' run2.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run2.font.size=Pt(16) #是否加粗 run2.font.bold=True #初始化建立第三个自然段 p3=document.add_paragraph() run3=p3.add_run("根据公司安排,为提供优质客户服务,我单位拟定了今日黄金价格为%s元,特此通知."%price) #对客户的称呼 run3.font.name='仿宋_GB2312' run3.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run3.font.size=Pt(16) #是否加粗 run3.font.bold=True table=document.add_table(rows=3,cols=3,style='TableGrid') table.cell(0,0).merge(table.cell(0,2)) table_run1=table.cell(0,0).paragraphs[0].add_run('xx产品报价表') table_run1.font.name=u'隶书' table_run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'隶书') table.cell(1,0).text='日期' table.cell(1,1).text='价格' table.cell(1,2).text='备注' table.cell(2,0).text=today table.cell(2,1).text=str(price) table.cell(2,2).text='' #初始化建立第四个自然段 p4=document.add_paragraph() #对齐方式为居中,没有这句话默认左对齐 p4.alignment=WD_ALIGN_PARAGRAPH.CENTER run4=p4.add_run("(联系人:小杨电话:18888888888)") #对客户的称呼 run4.font.name='仿宋_GB2312' run4.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run4.font.size=Pt(16) #是否加粗 run4.font.bold=True #插入分页符 document.add_page_break() p5=document.add_paragraph() run4=p5.add_run('此处是广告') document.save('%s-价格通知.docx'%i)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。