当前位置: 首页 > 知识库问答 >
问题:

如何使用python docx将样式应用于段落?

漆雕誉
2023-03-14

我试图使用python-docx模块将样式应用于文档中的段落。我可以写新的文本,但我不能对以前写的段落应用不同的风格。

以下是一个例子:

x = docx.Document('Sample.docx')

x
Out[81]: <docx.api.Document at 0x121cebed0>

x.paragraphs[2].style
Out[82]: 'Normal'

x.paragraphs[2].style = 'Title'

x.paragraphs[2].style
Out[84]: 'Normal'

我无法从文档中判断这是否有效。这似乎表明段落样式是可写的,但是文档中没有这个用例的例子。

请让我知道这是我的问题,还是功能尚未实现。

共有1个答案

谭富
2023-03-14

支持这些呼叫。我得仔细看看样品。docx来进行故障排除。

如果你一步一步地把结果打印出来,你会得到什么?

比如:

>>> document = Document('Sample.docx')
>>> document
<docx.api.Document at 0x121cebed0>  # this looks good so far
>>> paragraphs = document.paragraphs
>>> paragraphs
???
>>> paragraph = paragraphs[2]
>>> paragraph
???
>>> paragraph.style = 'Title'
>>> paragraph.style
???

此外,正确使用样式名称有时也是一个技巧。我不知道这会如何导致你看到的行为,但可能值得研究。您确定样本中有样式“Title”可用吗。docx?

 类似资料:
  • 问题内容: 使用标签将SVG直接包含在文档中时,您可以通过文档的样式表将CSS样式应用于SVG。但是,我试图将一种样式应用于嵌入的SVG(使用标签)。 是否可以使用以下代码? 问题答案: 简短的答案:不,因为样式不适用于文档边界。 但是,由于有标签,因此可以使用脚本将样式表插入svg文档。 这样的事情,并请注意,此代码假定已完全加载: 也可以插入一个元素来引用外部样式表: 另一个选择是使用第一种方

  • 问题内容: 我希望两个名称不同的类在CSS中具有相同的属性。我不想重复代码。 由于两个类都在做同一件事,因此我应该能够将其合并为一个。我怎样才能做到这一点? 问题答案: 是您要寻找的。

  • 我需要能够更改应用于的css。如何使用javascript实现这一目标? 我的css存储为一个Javascript变量中的字符串。我不使用css文件。css由大约50个类组成,因此逐个应用它们是没有意义的。我知道如何通过更改最低类来实现这一点,但我只是想看看是否可以使用Javascript命令和变量。 伪码

  • 在这方面需要帮助。我想在段落上应用从下面列表中选择的边框样式。myFunction()不工作。少了什么?

  • 我试图创建一个从扩展而来的自定义视图,并在代码中应用样式,这样我就不需要在xml中这样做。 风格是: 一切正常,但property。由于某种原因,背景色并没有改变,它有主题的原色。但是,如果我尝试将样式应用于xml中的,它确实会改变颜色。 你知道为什么会这样,或者我怎样才能做到吗?

  • 问题内容: 我有一个元素。如何将CSS样式应用于此元素的所有子元素?我只想将样式应用于子元素。不是它的大孩子。 我可以用 这对所有孩子都有效,但我想对所有孩子都适用的解决方案。我以为我可以用,但是 不起作用。 编辑 该选择不使用Firefox 26应用规则,并有根据萤火没有其他规则的保证金。如果我替换为,它会起作用。 问题答案: 这些子元素的后代将(可能)继承分配给那些子元素的大多数样式。 您需要