Współpraca z sekcjami

Czasami chcesz dokument, który nie ma tego samego formatowania na wszystkich stronach. Na przykład, może być konieczne zmodyfikowanie formatów numerów stron, mieć inny rozmiar strony i orientację, lub mieć pierwszą stronę dokumentu jako okładkę strony bez żadnej numeracji. Można to osiągnąć dzięki sekcjom.

Sekcje to węzły poziomu, które kontrolują nagłówki i stopy, orientację, kolumny, marginesy, formatowanie numeru strony i inne.

Aspose.Words pozwala na zarządzanie sekcjami, dzielenie dokumentu na sekcje i wprowadzanie formatowania zmian, które dotyczą tylko określonej sekcji. Aspose.Words przechowuje informacje o formatowaniu sekcji, takie jak nagłówki i stopy, konfiguracja strony i ustawienia kolumn w przerwie sekcji.

Ten artykuł wyjaśnia jak pracować z sekcjami i przerwami sekcji.

Co sekcja i sekcja przerwa jest

Sekcje dokumentów są reprezentowane przez Section oraz SectionCollection zajęcia. Obiekty sekcji są natychmiastowe dzieci Document węzeł i można uzyskać dostęp przez Sections nieruchomości. Można zarządzać tymi węzłami za pomocą niektórych metod, takich jak Remove, Add, IndexOf, I innych.

Przerwa w sekcji jest opcją, która dzieli strony dokumentów na sekcje z możliwością dostosowania układów.

Rodzaje przerw sekcyjnych

Aspose.Words pozwala dzielić i formatować dokumenty przy użyciu różnych przerw sekcji BreakType wyliczenie:

  • SectionBreakContinuous
  • SectionBreakNewColumn
  • SectionBreakNewPage
  • SectionBreakEvenPage
  • SectionBreakOddPage

Można również użyć SectionStart wyliczenie wyboru typu przerwy, który dotyczy tylko pierwszej sekcji, takiej jak NewColumn, NewPage, EvenPage i OddPage.

Zarządzanie sekcją

Ponieważ sekcja jest normalnym węzłem kompozytowym, cała obsługa węzła API mogą być wykorzystywane do manipulowania sekcjami: do dodawania, usuwania i innych operacji na sekcjach. Możesz przeczytać więcej o węzłach w artykule Aspose.Words Document Object Model (DOM).

Z drugiej strony, można również użyć DocumentBuilder API do pracy z sekcjami. W tym artykule skupimy się na tym szczególnym sposobie pracy z sekcjami.

Wstaw lub usuń przerwę sekcji

Aspose.Words pozwala na wprowadzenie sekcji przerwy w tekście za pomocą InsertBreak Metoda.

Poniższy przykład kodu pokazuje, jak wstawić włamanie sekcji do dokumentu:

Użyj Remove metoda usuwania przerwy w sekcji. Jeśli nie trzeba usunąć określonej przerwy w sekcji i zamiast usunąć zawartość tej sekcji, można użyć ClearContent Metoda.

Poniższy przykład kodu pokazuje jak usunąć przerwy sekcje:

Przesuń sekcję

Jeśli chcesz przenieść sekcję z jednej pozycji do drugiej w dokumencie, musisz uzyskać indeks tej sekcji. Aspose.Words pozwala uzyskać pozycję sekcji z SectionCollection. Można użyć Sections właściwość, aby uzyskać wszystkie sekcje w dokumencie. Ale jeśli chcesz dostać tylko pierwszą sekcję, można użyć FirstSection nieruchomości.

Poniższy przykład kodu pokazuje, jak uzyskać dostęp do pierwszej sekcji i iterate przez dzieci węzła kompozytowego:

Określić układ sekcji

Czasami chcesz, aby twój dokument wyglądał lepiej, tworząc kreatywne układy dla różnych sekcji dokumentu. Jeśli chcesz określić typ bieżącej siatki sekcji, możesz wybrać tryb układu sekcji za pomocą SectionLayoutMode wyliczenie:

  • Domyślnie
  • Sieć
  • LineGrid
  • SnapToChars

Poniższy przykład kodu pokazuje jak ograniczyć liczbę wierszy, które każda strona może posiadać:

Edytuj sekcję

Po dodaniu nowej sekcji do dokumentu, nie będzie ciała ani akapitu, który można edytować. Aspose.Words pozwala zagwarantować, że sekcja zawiera ciało z co najmniej jednym akapitem przy użyciu EnsureMinimum metoda - automatycznie doda do dokumentu węzeł Body (lub HeaderFooter), a następnie doda do niego paragraf.

Poniższy przykład kodu pokazuje jak przygotować nowy węzeł sekcji używając EnsureMinimum:

Zawartość dodatku lub prependium

Jeśli chcesz narysować jakiś kształt lub dodać tekst lub obraz na początku / końcu sekcji, można użyć AppendContent oraz PrependContent metody Section Klasa.

Poniższy przykład kodu pokazuje, jak uzupełnić zawartość istniejącej sekcji:

Klon a sekcja

Aspose.Words pozwala na powielenie sekcji poprzez utworzenie pełnej kopii za pomocą deepClone Metoda.

Poniższy przykład kodu pokazuje jak sklonować pierwszą sekcję dokumentu:

Kopiuj sekcje pomiędzy dokumentami

W niektórych przypadkach możesz mieć duże dokumenty z wieloma sekcjami i chcesz skopiować zawartość sekcji z jednego dokumentu do drugiego.

Aspose.Words pozwala na kopiowanie sekcji pomiędzy dokumentami za pomocą ImportNode Metoda.

Poniższy przykład kodu pokazuje jak kopiować sekcje pomiędzy dokumentami:

Podstawowe zasady wyświetlania nagłówka lub stopki dla każdej sekcji są dość proste:

  1. Jeżeli sekcja nie posiada własnych nagłówków / stóp określonego typu, to jest ona pobierana z poprzedniej sekcji.
  2. Typ nagłówka / stopki wyświetlany na stronie jest sterowany ustawieniami sekcji “Inna Pierwsza Strona” i “Różne Odd & Even Pages” - jeśli są wyłączone, to własne tytuły sekcji są ignorowane.

Poniższy przykład kodu pokazuje jak stworzyć 2 sekcje z różnymi nagłówkami:

Jeśli chcesz usunąć tekst nagłówków i stóp bez usuwania HeaderFooter obiektów w dokumencie, można użyć ClearHeadersFooters Metoda. Ponadto, można użyć DeleteHeaderFooterShapes metody usuwania wszystkich kształtów z nagłówków i stóp w dokumencie.

Poniższy przykład kodu pokazuje, jak usunąć zawartość wszystkich nagłówków i stóp w sekcji:

Poniższy przykład kodu, jak usunąć wszystkie kształty ze wszystkich nagłówków w sekcji:

Dostosuj właściwości strony w sekcji

Przed wydrukowaniem strony lub dokumentu można dostosować i zmodyfikować rozmiar i układ jednej strony lub całego dokumentu. Dzięki ustawieniu strony można zmienić ustawienia stron dokumentów, takich jak marginesy, orientacja i rozmiar do drukowania różnych pierwszych stron lub stron nieparzystych.

Aspose.Words pozwala dostosować właściwości strony i sekcji za pomocą PageSetup Klasa.

Poniższy przykład kodu pokazuje, jak ustawić takie właściwości jak rozmiar strony i orientacja dla bieżącej sekcji:

Poniższy przykład kodu pokazuje jak zmodyfikować właściwości strony we wszystkich sekcjach:

Zobacz również