Arbeiten mit Absätzen
In diesem Thema wird die Open XML SDK-Klasse Paragraph 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 grundlegendste 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.
Die Eigenschaften eines Absatzes werden über das <pPr>
-Element angegeben. Beispiele für Absatzeigenschaften sind Ausrichtung, Rand, Deaktivieren der Silbentrennung, Einrückung, Zeilenabstand, Schattierung, Textrichtung und Absatzkontrolle.
© ISO/IEC 29500: 2016
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 Open XML SDK-Klasse Paragraph stellt das Absatzelement <p>
dar, das wie oben beschrieben im Open XML-Dateiformatschema für WordprocessingML-Dokumente definiert ist.
Verwenden Sie das Paragraph-Objekt , um einzelne <p>
Elemente in einem WordprocessingML-Dokument zu bearbeiten.
ParagraphProperties-Klasse
In WordprocessingML werden die Eigenschaften eines Absatzes über das Absatzeigenschaftenelement <pPr>
angegeben.
Beispiele für Absatzeigenschaften sind Ausrichtung, Rand, Deaktivieren der Silbentrennung, Einrückung, Zeilenabstand, Schattierung, Textrichtung und Absatzkontrolle. Die OXML SDK-Klasse ParagraphProperties stellt das <pPr>
-Element dar.
Run-Klasse
Absätze in einem Textverarbeitungsdokument enthalten am häufigsten Text. Im OXML-Dateiformatschema für WordprocessingML-Dokumente wird das run-Element <r>
bereitgestellt, um einen Textbereich abzugrenzen. Die OXML SDK-Klasse Run stellt das <r>
-Element dar.
Text-Objekt
<r>
Beim -Element ist das Textelement <t>
der Container für den Text, aus dem der Dokumentinhalt besteht. Die OXML SDK-Klasse Text stellt das <t>
-Element 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.
// <Snippet0>
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System;
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));
}
}
// </Snippet0>
WriteToWordDoc(args[0], args[1]);
Siehe auch
Informationen zum Open XML SDK für Office
Vorgehensweise: Öffnen und Hinzufügen von Text in einem Textverarbeitungsdokument