Arbeiten mit Absätzen

Ein Absatz ist eine Reihe von Zeichen, die zu einem logischen Block zusammengefasst sind und mit einem Sonderzeichen – einem Absatzumbruch – enden. In Aspose.Words wird ein Absatz durch die Paragraph-Klasse dargestellt.

Fügen Sie einen Absatz ein

Um einen neuen Absatz in das Dokument einzufügen, müssen Sie tatsächlich ein Absatzumbruchzeichen einfügen. DocumentBuilder.writeln fügt ebenfalls eine Textzeichenfolge in das Dokument ein, fügt jedoch zusätzlich einen Absatzumbruch ein.

Die aktuelle Schriftartformatierung wird ebenfalls durch die font-Eigenschaft angegeben und die aktuelle Absatzformatierung wird durch die paragraph_format-Eigenschaft bestimmt.

Das folgende Codebeispiel zeigt, wie man einen Absatz in ein Dokument einfügt:

# 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")

Absatz formatieren

Die aktuelle Absatzformatierung wird durch ein ParagraphFormat-Objekt dargestellt, das von der paragraph_format-Eigenschaft zurückgegeben wird. Dieses Objekt kapselt verschiedene in Microsoft Word verfügbare Absatzformatierungseigenschaften. Sie können die Absatzformatierung ganz einfach auf die Standardeinstellung “Normaler Stil, linksbündig, ohne Einrückung, ohne Abstand, ohne Rahmen und ohne Schattierung” zurücksetzen, indem Sie clear_formatting aufrufen.

Das folgende Codebeispiel zeigt, wie Sie die Absatzformatierung festlegen:

# 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")

Wenden Sie einen Absatzstil an

Einige Formatierungsobjekte wie Font oder ParagraphFormat unterstützen Stile. Ein einzelner integrierter oder benutzerdefinierter Stil wird durch ein Style-Objekt dargestellt, das die entsprechenden Stileigenschaften wie Name, Basisstil, Schriftart und Absatzformatierung des Stils usw. enthält.

Darüber hinaus stellt ein Style-Objekt die Style.style_identifier-Eigenschaft bereit, die eine vom Gebietsschema unabhängige Stilkennung zurückgibt, die durch einen StyleIdentifier-Enumerationswert dargestellt wird. Der Punkt ist, dass die Namen der integrierten Stile in Microsoft Word für verschiedene Sprachen lokalisiert sind. Mithilfe einer Stilkennung können Sie unabhängig von der Dokumentsprache den richtigen Stil finden. Die Aufzählungswerte entsprechen den in Microsoft Word integrierten Stilen wie “Normal”, “Überschrift 1”, “Überschrift 2” usw. Allen benutzerdefinierten Stilen wird der StyleIdentifier.USER-Wert zugewiesen

Das folgende Codebeispiel zeigt, wie ein Absatzstil angewendet wird:

# 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")

Fügen Sie ein Stiltrennzeichen ein, um verschiedene Absatzstile einzufügen

Mit der Tastenkombination Strg + Alt + Eingabetaste in MS Word kann am Ende eines Absatzes ein Stiltrennzeichen hinzugefügt werden. Diese Funktion ermöglicht die Verwendung zweier verschiedener Absatzstile in einem logisch gedruckten Absatz. Wenn Sie möchten, dass ein Teil des Textes vom Anfang einer bestimmten Überschrift in einem Inhaltsverzeichnis angezeigt wird, aber nicht die gesamte Überschrift im Inhaltsverzeichnis angezeigt wird, können Sie diese Funktion verwenden

Das folgende Codebeispiel zeigt, wie ein Stiltrennzeichen eingefügt wird, um verschiedene Absatzstile zu berücksichtigen:

# 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")

Identifizieren Sie das Trennzeichen für den Absatzstil

Aspose.Words stellt eine öffentliche Eigenschaft break_is_style_separator in einer Paragraph-Klasse bereit und ermöglicht die Identifizierung von Stiltrennzeichenabsätzen, wie im folgenden Beispiel gezeigt:

# 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!")

Wenden Sie Rahmen und Schattierungen auf einen Absatz an

Grenzen werden durch das BorderCollection dargestellt. Dies ist eine Sammlung von Border-Objekten, auf die über Index oder Rahmentyp zugegriffen wird. Der Rahmentyp wird durch die BorderType-Enumeration dargestellt. Einige Werte der Aufzählung gelten für mehrere oder nur ein Dokumentelement. BorderType.BOTTOM ist beispielsweise auf einen Absatz oder eine Tabellenzelle anwendbar, während BorderType.DIAGONALDOWN nur den diagonalen Rand in einer Tabellenzelle angibt.

Sowohl die Rahmensammlung als auch jeder einzelne Rahmen verfügen über ähnliche Attribute wie Farbe, Linienstil, Linienstärke, Abstand vom Text und optionaler Schatten. Sie werden durch gleichnamige Eigenschaften dargestellt. Durch die Kombination der Eigenschaftswerte können Sie unterschiedliche Rahmentypen erzielen. Darüber hinaus ermöglichen Ihnen sowohl BorderCollection- als auch Border-Objekte, diese Werte durch Aufrufen der Border.clear_formatting-Methode auf die Standardwerte zurückzusetzen.

Aspose.Words verfügt außerdem über die Shading-Klasse, die Schattierungsattribute für Dokumentelemente enthält. Sie können die gewünschte Schattierungstextur und die Farben festlegen, die auf den Hintergrund und den Vordergrund des Elements angewendet werden.

Die Schattierungstextur wird mit einem TextureIndex-Enumerationswert festgelegt, der die Anwendung verschiedener Muster auf das Shading-Objekt ermöglicht. Um beispielsweise eine Hintergrundfarbe für ein Dokumentelement festzulegen, verwenden Sie den TextureIndex.TEXTURE_SOLID-Wert und legen Sie die Vordergrundschattierungsfarbe entsprechend fest. Das folgende Beispiel zeigt, wie Sie Rahmen und Schattierungen auf einen Absatz anwenden.

Das folgende Codebeispiel zeigt, wie Rahmen und Schattierungen auf einen Absatz angewendet werden:

# 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")