Arbeiten mit Abschnitten
Manchmal möchten Sie ein Dokument, das nicht auf allen Seiten die gleiche Formatierung aufweist. Beispielsweise müssen Sie möglicherweise die Seitenzahlformate ändern, eine andere Seitengröße und -ausrichtung verwenden oder die erste Dokumentseite als Deckblatt ohne Nummerierung verwenden. Das können Sie mit Abschnitten erreichen.
Abschnitte sind Ebenenknoten, die Kopf- und Fußzeilen, Ausrichtung, Spalten, Ränder, Seitenzahlformatierung und andere steuern.
Mit Aspose.Words können Sie Abschnitte verwalten, ein Dokument in Abschnitte unterteilen und Formatierungsänderungen vornehmen, die nur für einen bestimmten Abschnitt gelten. Aspose.Words speichert Informationen zur Abschnittsformatierung wie Kopf- und Fußzeilen, Seiteneinrichtung und Spalteneinstellungen im Abschnittsumbruch.
In diesem Artikel wird erläutert, wie Sie mit Abschnitten und Abschnittsumbrüchen arbeiten.
Was Abschnitt und Abschnittsumbruch ist
Dokumentabschnitte werden durch die Klassen Section und SectionCollection repräsentiert. Abschnittsobjekte sind unmittelbare untergeordnete Elemente des Document-Knotens und können über die Sections-Eigenschaft aufgerufen werden. Sie können diese Knoten mithilfe einiger Methoden wie Remove, Add, IndexOf und anderen verwalten.
Abschnittsumbruch ist eine Option, die Dokumentseiten in Abschnitte mit anpassbaren Layouts unterteilt.
Arten eines Abschnittsumbruchs
Mit Aspose.Words können Sie Dokumente mithilfe verschiedener Abschnittsumbrüche der BreakType-Aufzählung aufteilen und formatieren:
- SectionBreakContinuous
- SectionBreakNewColumn
- AbschnittBreakNewPage
- SectionBreakEvenPage
- SectionBreakOddPage
Sie können die SectionStart-Enumeration auch verwenden, um einen Umbruchtyp auszuwählen, der nur für den ersten Abschnitt gilt, z. B. NewColumn, NewPage, EvenPage und OddPage.
Verwalten Sie einen Abschnitt
Da es sich bei einem Abschnitt um einen normalen zusammengesetzten Knoten handelt, kann das gesamte Knotenmanipulations-API zum Bearbeiten von Abschnitten verwendet werden: zum Hinzufügen, Entfernen und für andere Vorgänge an Abschnitten. Weitere Informationen zu Knoten finden Sie im Artikel Aspose.Words Document Object Model (DOM).
Andererseits können Sie auch DocumentBuilder
API verwenden, um mit Abschnitten zu arbeiten. In diesem Artikel konzentrieren wir uns auf diese besondere Art der Arbeit mit Abschnitten.
Fügen Sie einen Abschnittsumbruch ein oder entfernen Sie ihn
Mit Aspose.Words können Sie mithilfe der InsertBreak-Methode einen Abschnittsumbruch in Text einfügen.
Das folgende Codebeispiel zeigt, wie man einen Abschnittsumbruch in ein Dokument einfügt:
Verwenden Sie die Remove-Methode, um einen Abschnittsumbruch zu löschen. Wenn Sie einen bestimmten Abschnittsumbruch nicht entfernen müssen und stattdessen den Inhalt dieses Abschnitts löschen müssen, können Sie die ClearContent-Methode verwenden.
Das folgende Codebeispiel zeigt, wie Abschnittsumbrüche entfernt werden:
Verschieben Sie einen Abschnitt
Wenn Sie einen Abschnitt in Ihrem Dokument von einer Position an eine andere verschieben möchten, müssen Sie den Index dieses Abschnitts abrufen. Mit Aspose.Words können Sie eine Abschnittsposition aus einem SectionCollection abrufen. Sie können die Sections-Eigenschaft verwenden, um alle Abschnitte in Ihrem Dokument abzurufen. Wenn Sie jedoch nur den ersten Abschnitt erhalten möchten, können Sie die FirstSection-Eigenschaft verwenden.
Das folgende Codebeispiel zeigt, wie Sie auf den ersten Abschnitt zugreifen und die untergeordneten Elemente eines zusammengesetzten Knotens durchlaufen:
Geben Sie ein Abschnittslayout an
Manchmal möchten Sie, dass Ihr Dokument besser aussieht, indem Sie kreative Layouts für verschiedene Dokumentabschnitte erstellen. Wenn Sie den Typ des aktuellen Abschnittsrasters angeben möchten, können Sie mithilfe der SectionLayoutMode-Enumeration einen Abschnittslayoutmodus auswählen:
- Standard
- Netz
- Liniengitter
- SnapToChars
Das folgende Codebeispiel zeigt, wie Sie die Anzahl der Zeilen begrenzen können, die jede Seite haben darf:
Bearbeiten Sie einen Abschnitt
Wenn Sie Ihrem Dokument einen neuen Abschnitt hinzufügen, gibt es keinen Textkörper oder Absatz, den Sie bearbeiten können. Mit Aspose.Words können Sie mithilfe der EnsureMinimum-Methode garantieren, dass ein Abschnitt einen Hauptteil mit mindestens einem Absatz enthält. Dabei wird dem Dokument automatisch ein Hauptteilknoten (oder HeaderFooter-Knoten) und anschließend ein Absatz hinzugefügt.
Das folgende Codebeispiel zeigt, wie Sie mit EnsureMinimum einen neuen Abschnittsknoten vorbereiten:
Inhalte anhängen oder voranstellen
Wenn Sie am Anfang/Ende eines Abschnitts eine Form zeichnen oder Text oder Bild hinzufügen möchten, können Sie die Methoden AppendContent und PrependContent der Section-Klasse verwenden.
Das folgende Codebeispiel zeigt, wie der Inhalt eines vorhandenen Abschnitts angehängt wird:
Klonen Sie einen Abschnitt
Mit Aspose.Words können Sie einen Abschnitt duplizieren, indem Sie mit der Clone-Methode eine vollständige Kopie davon erstellen.
Das folgende Codebeispiel zeigt, wie Sie den ersten Abschnitt in Ihrem Dokument klonen:
Abschnitte zwischen Dokumenten kopieren
In einigen Fällen verfügen Sie möglicherweise über große Dokumente mit vielen Abschnitten und möchten den Inhalt eines Abschnitts von einem Dokument in ein anderes kopieren.
Mit Aspose.Words können Sie Abschnitte zwischen Dokumenten mithilfe der ImportNode-Methode kopieren.
Das folgende Codebeispiel zeigt, wie Abschnitte zwischen Dokumenten kopiert werden:
Arbeiten Sie mit Abschnittskopf- und -fußzeilen
Die Grundregeln für die Anzeige einer Kopf- oder Fußzeile für jeden Abschnitt sind recht einfach:
- Wenn der Abschnitt keine eigenen Kopf-/Fußzeilen eines bestimmten Typs hat, werden diese aus dem vorherigen Abschnitt übernommen.
- Die Art der auf der Seite angezeigten Kopf-/Fußzeile wird durch die Abschnittseinstellungen “Unterschiedliche erste Seite” und “Unterschiedliche gerade und ungerade Seiten” gesteuert. Wenn diese deaktiviert sind, werden die eigenen Titel des Abschnitts ignoriert.
Das folgende Codebeispiel zeigt, wie zwei Abschnitte mit unterschiedlichen Überschriften erstellt werden:
Wenn Sie den Text von Kopf- und Fußzeilen entfernen möchten, ohne HeaderFooter-Objekte in Ihrem Dokument zu entfernen, können Sie die ClearHeadersFooters-Methode verwenden. Darüber hinaus können Sie mit der DeleteHeaderFooterShapes-Methode alle Formen aus Kopf- und Fußzeilen in Ihrem Dokument entfernen.
Das folgende Codebeispiel zeigt, wie der Inhalt aller Kopf- und Fußzeilen in einem Abschnitt gelöscht wird:
Das folgende Codebeispiel zeigt, wie alle Formen aus allen Kopf- und Fußzeilen in einem Abschnitt entfernt werden:
Passen Sie die Seiteneigenschaften in einem Abschnitt an
Bevor Sie eine Seite oder ein Dokument drucken, möchten Sie möglicherweise die Größe und das Layout einer einzelnen Seite oder des gesamten Dokuments anpassen und ändern. Mit der Seiteneinrichtung können Sie die Einstellungen von Dokumentseiten wie Ränder, Ausrichtung und Größe ändern, um verschiedene erste Seiten oder ungerade Seiten zu drucken.
Mit Aspose.Words können Sie Seiten- und Abschnittseigenschaften mithilfe der PageSetup-Klasse anpassen.
Das folgende Codebeispiel zeigt, wie Eigenschaften wie Seitengröße und Ausrichtung für den aktuellen Abschnitt festgelegt werden:
Das folgende Codebeispiel zeigt, wie Sie die Seiteneigenschaften in allen Abschnitten ändern: