Práce s záhlaví a zápatí
Aspose.Words umožňuje uživatelům pracovat s záhlaví a zápatí v dokumentu. Záhlaví je text, který je umístěn v horní části stránky, a zápatí je text v dolní části stránky. Tyto oblasti se obvykle používají k vkládání informací, které by se měly opakovat na všech nebo některých stránkách dokumentu, jako jsou čísla stránek, datum vytvoření, informace o společnosti atd.
Vytvořte záhlaví nebo zápatí pomocí DocumentBuilder
Pokud chcete programově přidat záhlaví nebo zápatí dokumentu, nejjednodušší je použít k tomu třídu DocumentBuilder.
Následující příklad kódu ukazuje, jak přidat záhlaví a zápatí pro stránky dokumentu:
Určete možnosti záhlaví nebo zápatí
Když do dokumentu přidáte záhlaví nebo zápatí, můžete nastavit některé pokročilé vlastnosti. Aspose.Words poskytuje uživatelům třídy HeaderFooter a HeaderFooterCollection a také výčet HeaderFooterType, který vám dává větší kontrolu nad procesem přizpůsobení záhlaví a zápatí.
Zadejte typ záhlaví nebo zápatí
Pro jeden dokument můžete zadat tři různé typy záhlaví a tři různé typy zápatí:
- Záhlaví a / nebo zápatí pro první stránku
- Záhlaví a / nebo zápatí pro sudé stránky
- Záhlaví a / nebo zápatí pro liché stránky
Následující příklad kódu ukazuje, jak přidat záhlaví pro liché stránky dokumentu:
Určete, zda chcete pro první stránku zobrazit různá záhlaví nebo zápatí
Jak bylo uvedeno výše, můžete také nastavit jinou záhlaví nebo zápatí pro první stránku. Chcete-li to provést, musíte nastavit příznak DifferentFirstPageHeaderFooter na true
a poté specifikovat hodnotu HeaderFirst nebo FooterFirst.
Následující příklad kódu ukazuje, jak nastavit záhlaví pouze pro první stránku:
// 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"); |
Určete, zda chcete zobrazit různá záhlaví nebo zápatí pro liché nebo sudé stránky
Dále budete chtít nastavit různá záhlaví nebo zápatí pro liché a sudé stránky v dokumentu. Chcete-li to provést, musíte nastavit příznak OddAndEvenPagesHeaderFooter na true
a poté specifikovat hodnoty HeaderPrimary a HeaderEven nebo FooterPrimary a 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"); |
Vložte do záhlaví absolutně umístěný obrázek
Chcete-li umístit obrázek do záhlaví nebo zápatí, Použijte typ záhlaví HeaderPrimary nebo typ zápatí FooterPrimary a metodu InsertImage
.
Následující příklad kódu ukazuje, jak přidat obrázek do záhlaví:
// 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"); |
Nastavení vlastností písma a odstavce pro text záhlaví nebo zápatí
Pomocí Aspose.Words můžete nastavit vlastnosti písma a odstavce, použít typ záhlaví HeaderPrimary nebo typ zápatí FooterPrimary, stejně jako metody a vlastnosti pro práci s písmy a odstavci, které používáte pro tělo dokumentu.
Následující příklad kódu ukazuje, jak nastavit text v záhlaví na Arial, bold, velikost 14 a zarovnání na střed:
// 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"); |
Vložte čísla stránek do záhlaví nebo zápatí
V případě potřeby můžete do záhlaví nebo zápatí přidat čísla stránek. Chcete-li to provést, použijte typ záhlaví HeaderPrimary nebo typ zápatí FooterPrimary a metodu InsertField k přidání požadovaného pole.
Následující příklad kódu ukazuje, jak přidat čísla stránek do zápatí vpravo:
// 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"); |
Použijte záhlaví nebo zápatí definované v předchozí části
Pokud potřebujete zkopírovat záhlaví nebo zápatí z předchozí části, můžete to udělat také.
Následující příklad kódu ukazuje, jak zkopírovat záhlaví nebo zápatí z předchozí části:
Zajistěte vzhled záhlaví nebo zápatí při použití různých orientací stránky a velikosti stránky
Aspose.Words umožňuje poskytnout vzhled záhlaví nebo zápatí při použití různých orientací a velikostí stránek.
Následující příklad ukazuje, jak to udělat:
Jak odstranit pouze záhlaví nebo pouze zápatí
Každá sekce v dokumentu může mít až tři záhlaví a až tři zápatí (pro první, sudé a liché stránky). Pokud chcete odebrat všechna záhlaví nebo všechna zápatí v dokumentu, musíte procházet všemi sekcemi a odstranit každý odpovídající uzel záhlaví nebo uzel zápatí.
Následující příklad kódu ukazuje, jak odstranit všechny zápatí ze všech oddílů, ale ponechat záhlaví neporušená. Podobným způsobem můžete odebrat pouze záhlaví: