Praca z nagłówkami i stopkami
Aspose.Words umożliwia użytkownikom pracę z nagłówkami i stopkami w dokumencie. Nagłówek to tekst umieszczony u góry strony, a stopka to tekst u dołu strony. Zazwyczaj te obszary służą do wstawiania informacji, które należy powtórzyć na wszystkich lub niektórych stronach dokumentu, takich jak numery stron, Data utworzenia, informacje o firmie i tak dalej.
Utwórz nagłówki lub stopki za pomocą DocumentBuilder
Jeśli chcesz programowo dodać nagłówek lub stopkę dokumentu, najłatwiej jest użyć do tego klasy DocumentBuilder.
Poniższy przykład kodu pokazuje, jak dodać nagłówek i stopkę do stron dokumentu:
Określ opcje nagłówka lub stopki
Po dodaniu nagłówka lub stopki do dokumentu można ustawić niektóre zaawansowane właściwości. Aspose.Words zapewnia użytkownikom klasy HeaderFooter i HeaderFooterCollection, a także HeaderFooterType wyliczenie, które daje większą kontrolę nad procesem dostosowywania nagłówka i stopki.
Określ typ nagłówka lub stopki
Dla jednego dokumentu można określić trzy różne typy nagłówków i trzy różne typy stopek:
- Nagłówek i / lub stopka pierwszej strony
- Nagłówek i / lub stopka dla parzystych stron
- Nagłówek i / lub stopka dla stron nieparzystych
Poniższy przykład kodu pokazuje, jak dodać nagłówek dla nieparzystych stron dokumentu:
Określ, czy na pierwszej stronie mają być wyświetlane różne nagłówki czy stopki
Jak wspomniano powyżej, możesz również ustawić inny nagłówek lub stopkę dla pierwszej strony. Aby to zrobić, musisz ustawić flagę DifferentFirstPageHeaderFooter na true
, a następnie podać wartość HeaderFirst lub FooterFirst.
Poniższy przykład kodu pokazuje, jak ustawić nagłówek tylko dla pierwszej strony:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
// Specify that we want different headers and footers for first page. | |
builder->get_PageSetup()->set_DifferentFirstPageHeaderFooter(true); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderFirst); | |
builder->Write(u"Header for the first page."); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterFirst); | |
builder->Write(u"Footer for the first page."); | |
builder->MoveToSection(0); | |
builder->Writeln(u"Page 1"); | |
builder->InsertBreak(BreakType::PageBreak); | |
builder->Writeln(u"Page 2"); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.DifferentFirstPage.docx"); |
Określ, czy mają być wyświetlane różne nagłówki lub stopki dla stron nieparzystych czy parzystych
Następnie będziesz chciał ustawić różne nagłówki lub stopki dla stron nieparzystych i parzystych w dokumencie. Aby to zrobić, musisz ustawić flagę OddAndEvenPagesHeaderFooter na true
, a następnie określić wartości HeaderPrimary i HeaderEven lub FooterPrimary i FooterEven.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
// Specify that we want different headers and footers for even and odd pages. | |
builder->get_PageSetup()->set_OddAndEvenPagesHeaderFooter(true); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderEven); | |
builder->Write(u"Header for even pages."); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); | |
builder->Write(u"Header for odd pages."); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterEven); | |
builder->Write(u"Footer for even pages."); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterPrimary); | |
builder->Write(u"Footer for odd pages."); | |
builder->MoveToSection(0); | |
builder->Writeln(u"Page 1"); | |
builder->InsertBreak(BreakType::PageBreak); | |
builder->Writeln(u"Page 2"); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.OddEvenPages.docx"); |
Wstaw absolutnie umieszczony obraz do nagłówka
Aby umieścić obraz w nagłówku lub stopce, użyj HeaderPrimary typ nagłówka lub FooterPrimary Typ stopki i Metoda InsertImage
.
Poniższy przykład kodu pokazuje, jak dodać obraz do nagłówka:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); | |
builder->InsertImage(ImagesDir + u"Logo.jpg", RelativeHorizontalPosition::RightMargin, 10, | |
RelativeVerticalPosition::Page, 10, 50, 50, WrapType::Through); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.InsertImage.docx"); |
Ustaw właściwości czcionki i akapitu dla tekstu nagłówka lub stopki
Za pomocą Aspose.Words możesz ustawić właściwości czcionki i akapitu, użyć typu Nagłówka HeaderPrimary lub typu Stopki FooterPrimary, a także metod i właściwości do pracy z czcionkami i akapitami używanymi w treści dokumentu.
Poniższy przykład kodu pokazuje, jak ustawić tekst w nagłówku na Arial, bold, rozmiar 14 i wyrównanie do środka:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->MoveToHeaderFooter(HeaderFooterType::HeaderPrimary); | |
builder->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Center); | |
builder->get_Font()->set_Name(u"Arial"); | |
builder->get_Font()->set_Bold(true); | |
builder->get_Font()->set_Size(14); | |
builder->Write(u"Header for page."); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.FontProps.docx"); |
Wstaw numery stron do nagłówka lub stopki
W razie potrzeby możesz dodać numery stron do nagłówka lub stopki. Aby to zrobić, użyj typu nagłówka HeaderPrimary lub typu stopki FooterPrimary i metody InsertField, aby dodać wymagane pole.
Poniższy przykład kodu pokazuje, jak dodać numery stron do stopki po prawej stronie:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->MoveToHeaderFooter(HeaderFooterType::FooterPrimary); | |
builder->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Right); | |
builder->Write(u"Page "); | |
builder->InsertField(u"PAGE", u""); | |
builder->Write(u" of "); | |
builder->InsertField(u"NUMPAGES", u""); | |
doc->Save(ArtifactsDir + u"WorkingWithHeadersAndFooters.PageNumbers.docx"); |
Użyj nagłówków lub stopek zdefiniowanych w poprzedniej sekcji
Jeśli chcesz skopiować nagłówek lub stopkę z poprzedniej sekcji, możesz to również zrobić.
Poniższy przykład kodu pokazuje, jak skopiować nagłówek lub stopkę z poprzedniej sekcji:
Zapewnij wygląd nagłówka lub stopki podczas korzystania z różnych orientacji strony i rozmiaru strony
Aspose.Words pozwala zapewnić wygląd nagłówka lub stopki przy użyciu różnych orientacji i rozmiarów stron.
Poniższy przykład pokazuje, jak to zrobić:
Jak usunąć tylko nagłówki lub tylko stopki
Każda sekcja w dokumencie może mieć do trzech nagłówków i do trzech stopek (dla stron pierwszych, parzystych i nieparzystych). Jeśli chcesz usunąć wszystkie nagłówki lub wszystkie stopki w dokumencie, musisz przejrzeć wszystkie sekcje i usunąć każdy odpowiedni węzeł nagłówka lub węzeł stopki.
Poniższy przykład kodu pokazuje, jak usunąć wszystkie stopki ze wszystkich sekcji, ale pozostawić nienaruszone nagłówki. Możesz usunąć tylko nagłówki w podobny sposób: