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
Vorgehensweise: Öffnen und Hinzufügen von Text in einem Textverarbeitungsdokument