Word自动化处理相关知识:Word自动化处理相关知识

一、向Word文档中写入数据——python-docx

1.1 安装:pip install python-docx

1.2 使用方法:

1.2.1 向Word中写入文字

#以下是docx库中需要用到的部分

from docx import document

from docx.enum.text import WD_ALIGN_PARAGRAPH #文本排列样式

from docx.shared import Pt # 字体大小,磅数

from docx.oxml.ns import qn # 中文格式

# 创建文档对象

document = Document()

# 设置文档的基础字体

document.styles['Normal'].font.name = u'宋体'

# 设置文档的基础字体和样式(包含中文)

document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

# 初始化建立第一个自然段

p1 = document.add_paragraph()

# 对齐方式为居中,没有这句的话默认左对齐。

p1.alignment = WD_ALIGN_PARAGRAPH.CENTER

# 设置第一段的内容

run1 = p1.add_run('关于下达%s产品价格的通知' % (today))

# 设置西文字体

run1.font.name = '微软雅黑'

# 设置中文字体

run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')

# 设置字体大小为21磅

run1.font.size = Pt(21)

# 设置加粗

run1.font.bold = True

# 段后距离5磅

p1.space_after = Pt(5)

# 段前距离5磅

p1.space_before = Pt(5)

#保存

document.save('a.docx' )

1.2.2 向Word中写入图片和表格

# 写入图片需要导入图片尺寸

from docx.shared import Inches

#插入图片,宽度为6英寸

document.add_picture('banner.jpg', width=Inches(6))

#插入表格,3行3列

table = document.add_table(rows=3, cols=3, style='Table Grid')

#合并单元格,从第一行第一列合并到第一行第三列

table.cell(0, 0).merge(table.cell(0, 2))

#设置第一行第一列的单元格的文字内容和字体样式

table_run1 = table.cell(0, 0).paragraphs[0].add_run('XX产品报价表')

table.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER

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 = ''

1.2.3 将Word文档转换成PDF文件

注意:代码是固定写法

Word自动化处理相关知识:Word自动化处理相关知识(1)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页