show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次研究了向文档添加对象的方法
- add_paragraph
- add_heading
- add_page_break
- 并且理解了格式的作用
- 标题一
- 标题二
- 正文
- 如何通过python设置字体格式呢?
from docx import Document
document = Document()
document.add_paragraph("oeasy")
document.save("o.docx")
- 得到文档后
- 打开 并修改
- 将o的字体大小改成28
- 然后保存
- 尝试用python打开
from docx import Document
document = Document("o.docx")
for paragraph in document.paragraphs:
print(paragraph.text)
- 可是
- 看不出什么细节
- 现在应该深入paragraph
- :!python3
- 进入游乐场
from docx import Document
document = Document("o.docx")
p = document.paragraphs[0]
print(p)
- 找到这个paragraph
- p.
- 按下 tab
- 发现 runs
print(p.runs)
- runs是一个列表
- 里面有两个元素!!!
- runs里面有什么呢?
r = p.runs[0]
- p.
- 按下 tab
- 没有提示
- run是什么类型的呢?
type(paragraph.runs[0])
import docx
help(docx.text.run.Run)
- 查看效果
- 有什么 成员函数和属性 呢?
- 可以添加各种对象
- 分隔符
- 图片
- 制表符
- 文字
- 具体还有什么属性呢?
- 各种属性
- 斜体
- 样式
- 文本
- 下划线
- 这个run的text究竟是什么呢?
for run in p.runs:
print(run.text)
- 结果
- 选中字母o后
- 修改字体大小
- 将一个段落分成两段
- 是不是这样呢?
- 退出游乐场
- 回到vim
from docx import Document
document = Document()
paragraph = document.add_paragraph("oeasy")
print(len(paragraph.runs))
- 结果为1
- 结果验证了判断
- 选择文字 修改字体大小
- 将paragraph中的
- runs 中的元素
- 从 1个 变 2个
from docx import Document
document = Document()
paragraph = document.add_paragraph("oeasy")
print(paragraph.runs)
paragraph.add_run("o2z")
print(paragraph.runs[0].text)
print(paragraph.runs[1].text)
print(paragraph.text)
- 运行结果
- Document文档 是 顶级元素
- 文档中包含着 Paragraph段落
- Paragraph段落 中包含着 run文本
- 文档中包含着 Paragraph段落
- 可以写进docx文件中观察吗?
from docx import Document
document = Document()
paragraph = document.add_paragraph("oeasy")
print(paragraph.runs)
paragraph.add_run("o2z")
print(paragraph.runs[0].text)
print(paragraph.runs[1].text)
print(paragraph.text)
document.save("o.docx")
- 整体上 是
- 一段文字
- 1 Paragraph
- 实际上
- 分别属于
- 两个不同的run
- 不同的run
- 可以有不同的字体和大小
- 试试 进行设置
from docx import Document
document = Document()
paragraph = document.add_paragraph("oeasy")
run = paragraph.add_run("o2z")
run.bold = True
run.italic = True
document.save("o.docx")
- 设置粗体和斜体
- bold 和 italic 都是 run 的三值属性
- True
- False
- None
- 可以设置更多格式吗?
import docx
help(docx.text.run.Run)
- 找到一个属性
- 下划线
- underline
- 这个属性 可以有四种值
- True
- False
- None
- WdUnderline
- 先试试True
from docx import Document
document = Document()
paragraph = document.add_paragraph("oeasy")
run = paragraph.add_run("o2z")
run.underline = True
document.save("o.docx")
- 确实有了下划线
- 和word中的类型是一致的
- 试试 WAVY_DOUBLE
- 保存文件
from docx import Document
document = Document("o.docx")
p = document.paragraphs[0]
r = p.runs[0]
print(r.underline)
help(r.underline)
- 查看类型
- 我如何使用python来进行设定呢?
- 在游乐场
import docx
docx.enum
- 用 tab
- 观察 细节
- WD_UNDERLINE
- 属于 docx.enum.text这个module
from docx import Document
from docx.enum.text import WD_UNDERLINE
document = Document()
paragraph = document.add_paragraph("oeasy")
run = paragraph.add_run("o2z")
run.underline = WD_UNDERLINE.DOTTED
document.save("o.docx")
- 下划线
- 确实设置了点划线
-
这次了解了word文件的结构
- 顶级元素 为 文档(document)
- 文档(document) 下面为 段落(paragraph)
- 段落(paragraph) 下面为 行内文字(run)
-
run 有一些属性
- 加粗 Bold
- 加斜 Italic
- 下划线 underline
- 其中下划线 可选择类型
-
还可以往document里面add一些什么呢?🤔
-
我们下次再说!👋🏻