在Python中为段落应用样式表,如边距和颜色
我刚开始学习Python,有人能告诉我怎么给段落加样式吗?我已经像这样写了代码:
import re
from docx import Document # for Word document
from docx.text import Paragraph
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.styles import getSampleStyleSheet
document.add_paragraph('My first paragraph')
但是当我想把这个段落变成红色,并且用它的样式属性加上左边距20像素时,结果却没有生效。
1 个回答
1
嗯,这里有几个问题。
- 我看不出需要导入re这个库,它是用来处理正则表达式的,但在这里并没有用到。
- reportlab是用来生成PDF文件的。你不能随便把reportlab的样式应用到python-docx文档上,期待它能正常工作。这两个库是完全不同的。
- Paragraph类不应该直接实例化,所以也不需要导入它。
要实现你所描述的功能,你可以这样做:
创建一个Word文档,设置你想要的段落样式,比如叫做'红色缩进',然后把文档里的所有内容删除,最后保存为'styled.docx'。
然后:
document = Document('styled.docx')
paragraph = document.add_paragraph('My first paragraph')
paragraph.style = 'RedIndent'
注意,在从python-docx应用样式时,'红色'和'缩进'之间的空格会被去掉。