使用段落
段落是组合成逻辑块的一组字符,并以特殊字符(段落分隔符)结尾。在 Aspose.Words 中,段落由 Paragraph 类表示。
插入一个段落
实际上,要在文档中插入新段落,您需要在其中插入分段符。 DocumentBuilder.writeln 还会在文档中插入文本字符串,但此外,它还会添加段落分隔符。
当前字体格式也由 font 属性指定,当前段落格式由 paragraph_format 属性确定。
以下代码示例演示如何将段落插入到文档中:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
font = builder.font | |
font.size = 16 | |
font.bold = True | |
font.color = drawing.Color.blue | |
font.name = "Arial" | |
font.underline = aw.Underline.DASH | |
paragraphFormat = builder.paragraph_format | |
paragraphFormat.first_line_indent = 8 | |
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY | |
paragraphFormat.keep_together = True | |
builder.writeln("A whole paragraph.") | |
doc.save(docs_base.artifacts_dir + "AddContentUsingDocumentBuilder.insert_paragraph.docx") |
设置段落格式
当前段落格式由 paragraph_format 属性返回的 ParagraphFormat 对象表示。该对象封装了 Microsoft Word 中可用的各种段落格式属性。您可以通过调用 clear_formatting 轻松地将段落格式重置为默认为普通样式、左对齐、无缩进、无间距、无边框和无底纹。
以下代码示例展示了如何设置段落格式:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
paragraphFormat = builder.paragraph_format | |
paragraphFormat.alignment = aw.ParagraphAlignment.CENTER | |
paragraphFormat.left_indent = 50 | |
paragraphFormat.right_indent = 50 | |
paragraphFormat.space_after = 25 | |
builder.writeln( | |
"I'm a very nice formatted paragraph. I'm intended to demonstrate how the left and right indents affect word wrapping.") | |
builder.writeln( | |
"I'm another nice formatted paragraph. I'm intended to demonstrate how the space after paragraph looks like.") | |
doc.save(docs_base.artifacts_dir + "DocumentFormatting.paragraph_formatting.docx") |
应用段落样式
某些格式化对象(例如 Font 或 ParagraphFormat)支持样式。单个内置或用户定义的样式由 Style 对象表示,该对象包含相应的样式属性,如样式的名称、基本样式、字体和段落格式等。
此外,Style 对象提供 Style.style_identifier 属性,该属性返回由 StyleIdentifier 枚举值表示的独立于语言环境的样式标识符。要点是 Microsoft Word 中内置样式的名称针对不同语言进行了本地化。使用样式标识符,无论文档语言如何,您都可以找到正确的样式。枚举值对应于 Microsoft Word 内置样式,例如 Normal 、 Heading 1 、 Heading 2 等。所有用户定义的样式都分配有 StyleIdentifier.USER 值。
以下代码示例展示了如何应用段落样式:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.TITLE | |
builder.write("Hello") | |
doc.save(docs_base.artifacts_dir + "DocumentFormatting.apply_paragraph_style.docx") |
插入样式分隔符以放置不同的段落样式
可以使用 MS Word 中的 Ctrl + Alt + Enter 键盘快捷键将样式分隔符添加到段落末尾。此功能允许在一个逻辑打印段落中使用两种不同的段落样式。如果您希望特定标题开头的某些文本出现在目录中,但不希望整个标题出现在目录中,则可以使用此功能。
以下代码示例演示如何插入样式分隔符以适应不同的段落样式:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
paraStyle = builder.document.styles.add(aw.StyleType.PARAGRAPH, "MyParaStyle") | |
paraStyle.font.bold = False | |
paraStyle.font.size = 8 | |
paraStyle.font.name = "Arial" | |
# Append text with "Heading 1" style. | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1 | |
builder.write("Heading 1") | |
builder.insert_style_separator() | |
# Append text with another style. | |
builder.paragraph_format.style_name = paraStyle.name | |
builder.write("This is text with some other formatting ") | |
doc.save(docs_base.artifacts_dir + "WorkingWithStylesAndThemes.insert_style_separator.docx") |
识别段落样式分隔符
Aspose.Words 在 Paragraph 类中提供了一个公共属性 break_is_style_separator,允许识别样式分隔符段落,如下例所示:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Document.docx") | |
for paragraph in doc.get_child_nodes(aw.NodeType.PARAGRAPH, True) : | |
paragraph = paragraph.as_paragraph() | |
if (paragraph.break_is_style_separator) : | |
print("Separator Found!") | |
将边框和底纹应用到段落
边界由 BorderCollection 表示。这是通过索引或边框类型访问的 Border 对象的集合。边框类型由 BorderType 枚举表示。枚举的某些值适用于多个或仅一个文档元素。例如,BorderType.BOTTOM 适用于段落或表格单元格,而 BorderType.DIAGONALDOWN 仅指定表格单元格中的对角边框。
边框集合和每个单独的边框都具有相似的属性,例如颜色、线条样式、线条宽度、距文本的距离和可选的阴影。它们由同名的属性表示。您可以通过组合属性值来实现不同的边框类型。此外,BorderCollection 和 Border 对象都允许您通过调用 Border.clear_formatting 方法将这些值重置为默认值。
Aspose.Words 还具有 Shading 类,其中包含文档元素的底纹属性。您可以设置所需的着色纹理以及应用于元素的背景和前景的颜色。
着色纹理使用 TextureIndex 枚举值进行设置,该枚举值允许将各种图案应用到 Shading 对象。例如,要设置文档元素的背景颜色,请使用 TextureIndex.TEXTURE_SOLID 值并根据需要设置前景色。下面的示例展示了如何将边框和底纹应用于段落。
以下代码示例演示如何将边框和底纹应用到段落:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
borders = builder.paragraph_format.borders | |
borders.distance_from_text = 20 | |
borders.get_by_border_type(aw.BorderType.LEFT).line_style = aw.LineStyle.DOUBLE | |
borders.get_by_border_type(aw.BorderType.RIGHT).line_style = aw.LineStyle.DOUBLE | |
borders.get_by_border_type(aw.BorderType.TOP).line_style = aw.LineStyle.DOUBLE | |
borders.get_by_border_type(aw.BorderType.BOTTOM).line_style = aw.LineStyle.DOUBLE | |
shading = builder.paragraph_format.shading | |
shading.texture = aw.TextureIndex.TEXTURE_DIAGONAL_CROSS | |
shading.background_pattern_color = drawing.Color.light_coral | |
shading.foreground_pattern_color = drawing.Color.light_salmon | |
builder.write("I'm a formatted paragraph with double border and nice shading.") | |
doc.save(docs_base.artifacts_dir + "DocumentFormatting.apply_borders_and_shading_to_paragraph.doc") |