Freigeben über


Arbeiten mit Absätzen

In diesem Thema wird die Paragraph-Klasse des Open XML SDK und ihre Beziehung zum WordprocessingML-Schema des Open XML-Dateiformats erläutert.


Absätze in WordprocessingML

Der folgende Text aus der Spezifikation ISO/IEC 29500 enthält eine Einführung in das Open XML WordprocessingML-Element, das zum Darstellen eines Absatzes in einem WordprocessingML-Dokument dient.

Die einfachste Einheit von Inhalten auf Blockebene in einem WordprocessingML-Dokument, Absätze, werden mithilfe des <p>-Elements gespeichert. Ein Absatz bestimmt eine erkennbare Aufteilung des Inhalts, der in einer neuen Zeile beginnt. Ein Absatz kann drei Informationen enthalten: optionale Absatzeigenschaften, Inlineinhalte (zumeist Läufe) und eine Gruppe optionaler Überarbeitungs-IDs, die zum Vergleichen des Inhalts zweier Dokumente dienen.

Eigenschaften eines Absatzes werden mithilfe des <pPr>-Element angegeben. Beispiele für Absatzeigenschaften sind Ausrichtung, Rand, Deaktivieren der Silbentrennung, Einrückung, Zeilenabstand, Schattierung, Textrichtung und Absatzkontrolle.

© ISO/IEC29500: 2008.

In der folgenden Tabelle sind die allgemeinen Open XML SDK-Klassen aufgeführt, die beim Arbeiten mit Absätzen verwendet werden.

WordprocessingML-Element Open XML SDK-Klasse
p Paragraph
pPr ParagraphProperties
r Run
t Text

Paragraph-Klasse

Die Paragraph-Klasse des Open XML SDK stellt das Absatzelement (<p>) dar, das wie oben beschrieben im Open XML-Dateiformatschema für WordprocessingML-Dokumente definiert ist. Verwenden Sie das Paragraph-Objekt zum Bearbeiten einzelner <p>-Elemente in einem WordprocessingML-Dokument.

ParagraphProperties-Klasse

In WordprocessingML werden die Eigenschaften eines Absatzes mithilfe des ParagraphProperties-Elements (<pPr>-Element) angegeben. Beispiele für Absatzeigenschaften sind Ausrichtung, Rand, Deaktivieren der Silbentrennung, Einrückung, Zeilenabstand, Schattierung, Textrichtung und Absatzkontrolle. Die ParagraphProperties-Klasse in OXML SDK stellt das <pPr>-Element dar.

Run-Klasse

Absätze in einem Textverarbeitungsdokument enthalten am häufigsten Text. In dem OXML-Dateiformatschema für WordprocessingML-Dokumente wird das run-Element (<r>) für die Abgrenzung eines Textbereichs bereitgestellt. Die Run-Klasse in OXML SDK steht für das <r>-Element.

Text-Objekt

Beim <r>-Element ist das Textelement (<t>) der Container des Texts, der den Dokumentinhalt bildet. Die Open XML SDK-Klasse Text stellt das Element <t> dar.


Open XML SDK-Codebeispiel

Der folgende Code instanziiert ein Open XML SDKParagraph-Objekt und verwendet es dann zum Hinzufügen von Text zu einem WordprocessingML-Dokument.

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System;

WriteToWordDoc(args[0], args[1]);

static void WriteToWordDoc(string filepath, string txt)
{
    // Open a WordprocessingDocument for editing using the filepath.
    using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(filepath, true))
    {
        if (wordprocessingDocument is null)
        {
            throw new ArgumentNullException(nameof(wordprocessingDocument));
        }
        // Assign a reference to the existing document body.
        MainDocumentPart mainDocumentPart = wordprocessingDocument.MainDocumentPart ?? wordprocessingDocument.AddMainDocumentPart();
        mainDocumentPart.Document ??= new Document();
        Body body = mainDocumentPart.Document.Body ?? mainDocumentPart.Document.AppendChild(new Body());

        // Add a paragraph with some text.
        Paragraph para = body.AppendChild(new Paragraph());
        Run run = para.AppendChild(new Run());
        run.AppendChild(new Text(txt));
    }
}

Siehe auch

Informationen zum Open XML SDK für Office

Arbeiten mit Läufen

Vorgehensweise: Anwenden einer Formatvorlage auf einen Absatz in einem Dokument aus einem Textverarbeitungsprogramm

Vorgehensweise: Öffnen und Hinzufügen von Text in einem Textverarbeitungsdokument