在Python中为段落应用样式表,如边距和颜色

0 投票
1 回答
675 浏览
提问于 2025-04-18 17:16

我刚开始学习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应用样式时,'红色'和'缩进'之间的空格会被去掉。

撰写回答