Работа със заглавни части и стъпала

Aspose.Words позволява на потребителите да работят със заглавни части и стъпала в документ. Заглавната част е текст, който се поставя в горната част на страницата, а подножието е текст в долната част на страницата. Обикновено тези области се използват за вмъкване на информация, която трябва да се повтори на всички или на някои страници на документа, като номера на страници, дата на създаване, информация за компанията и т.н.

Създаване на заглавни части или Footers с помощта на DocumentBuilder

Ако искате да добавите документ заглавна част или footer programmmatically, най-лесният начин е да използвате DocumentBuilder Клас за това.

Следният пример с код показва как да се добави заглавна част и подножие за страниците с документи:

Посочете настройките на заглавната част или стъпалото

Когато добавите заглавна част или стъпало към документ, можете да зададете някои напреднали свойства. Aspose.Words осигурява на потребителите HeaderFooter както и HeaderFooterCollection класове, както и HeaderFooterType изброяване, което ви дава повече контрол върху процеса на персонализиране на заглавната част и стъпалото.

Посочете типа заглавна част или стъпало

Можете да посочите три различни типа заглавни части и три различни типа за един документ:

  1. Заглавна част и/или стъпало за първата страница
  2. Заглавна част и/или стъпало за четни страници
  3. Заглавна част и/или стъпало за нечетни страници

Следният пример с код показва как да добавите заглавна част за страници с нечетни документи:

Посочете дали да показвате различни заглавни части или стъпки за първата страница

Както беше казано по-горе, можете също така да зададете различен заглавен или кракер за първата страница. За да направите това, трябва да настроите different_first_page_header_footer флаг към true и след това spyfy HeaderFirst или FooterFirst стойност.

Следният пример за код показва как да зададете заглавната част само за първата страница:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.page_setup.different_first_page_header_footer = True
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_FIRST)
builder.write("Header for the first page.")
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_FIRST)
builder.write("Footer for the first page.")
builder.move_to_section(0)
builder.writeln("Page 1")
builder.insert_break(aw.BreakType.PAGE_BREAK)
builder.writeln("Page 2")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.different_first_page.docx")

Посочва се дали да се показват различни заглавни части или стъпала за нечетни или дори страници

След това ще искате да поставите различни заглавни части или подноси за странни и дори страници в документ. За да направите това, трябва да настроите odd_and_even_pages_header_footer флаг към true и след това spyfy стойностите HeaderPrimary както и HeaderEven, или FooterPrimary както и FooterEven.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.page_setup.odd_and_even_pages_header_footer = True
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_EVEN)
builder.write("Header for even pages.")
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_PRIMARY)
builder.write("Header for odd pages.")
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_EVEN)
builder.write("Footer for even pages.")
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_PRIMARY)
builder.write("Footer for odd pages.")
builder.move_to_section(0)
builder.writeln("Page 1")
builder.insert_break(aw.BreakType.PAGE_BREAK)
builder.writeln("Page 2")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.odd_even_pages.docx")

Вмъкване на абсолютно позициониран Изображение в заглавието

За да поставите изображение в заглавна част или стъпало, използвайте HeaderPrimary тип заглавна част или FooterPrimary тип крак и insert_image метод.

Следният пример с код показва как да се добави изображение към заглавна част:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_PRIMARY)
builder.insert_image(IMAGES_DIR + "Logo.jpg",
aw.drawing.RelativeHorizontalPosition.RIGHT_MARGIN,
10, aw.drawing.RelativeVerticalPosition.PAGE, 10, 50, 50,
aw.drawing.WrapType.THROUGH)
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.insert_image.docx")
view raw insert-image.py hosted with ❤ by GitHub

Настройки на шрифта и абзаца

С Aspose.Words Можете да зададете шрифта и параграфа свойства, използвайте HeaderPrimary тип заглавна част или FooterPrimary тип крак, както и методи и свойства за работа с шрифтове и параграфи, които използвате за документния орган.

Следният пример за код показва как да зададете текста в заглавната част на Arial, смел, размер 14, и централно подравняване:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.move_to_header_footer(aw.HeaderFooterType.HEADER_PRIMARY)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.name = "Arial"
builder.font.bold = True
builder.font.size = 14
builder.write("Header for pages.")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.font_props.docx")
view raw font-props.py hosted with ❤ by GitHub

Вмъкване на номерата на страниците в заглавната част или стъпалото

Ако е необходимо, можете да добавите номера на страници в заглавната част или подножието. За целта използвайте HeaderPrimary тип заглавна част или FooterPrimary тип крак и insert_field метод за добавяне на необходимото поле.

Следният пример за код показва как да добавите номерата на страниците в подножието вдясно:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.move_to_header_footer(aw.HeaderFooterType.FOOTER_PRIMARY)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.write("Page ")
builder.insert_field("PAGE", "")
builder.write(" of ")
builder.insert_field("NUMPAGES", "")
doc.save(ARTIFACTS_DIR + "WorkingWithHeadersAndFooters.page_numbers.docx")
view raw page-numbers.py hosted with ❤ by GitHub

Използване на заглавни части или стъпала, определени в предишния раздел

Ако трябва да копирате заглавната част или подножието от предишната секция, можете да направите и това.

Следният пример за код показва как да копирате заглавната част или подножието от предишния раздел:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
@staticmethod
def copy_headers_footers_from_previous_section(section):
"""Clones and copies headers/footers form the previous section to the specified section."""
previous_section = section.previous_sibling.as_section()
if previous_section is None:
return
section.headers_footers.clear()
for header_footer in previous_section.headers_footers:
section.headers_footers.add(header_footer.clone(True))

Aspose.Words ви позволява да осигурите появата на заглавна част или стъпало при използване на различни насоки и размери на страниците.

Следният пример показва как да направите това:

Как да премахнете само заглавните части или само краката

Всеки раздел в документ може да има до три заглавни части и до три заглавни части (за първи, дори и за нечетни страници). Ако искате да премахнете всички заглавни части или всички заглавни части в даден документ, трябва да прокарате през всички секции и да премахнете всеки съответен връх на заглавната част или възел на стъпалото.

Следният пример за код показва как да премахнете всички стъпала от всички секции, но да оставите заглавните части непокътнати. Можете да премахнете само заглавните части по подобен начин:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document(MY_DIR + "Header and footer types.docx")
for section in doc:
section = section.as_section()
# Up to three different footers are possible in a section (for first, even and odd pages)
# we check and delete all of them.
footer = section.headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_FIRST)
if footer is not None:
footer.remove()
# Primary footer is the footer used for odd pages.
footer = section.headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
if footer is not None:
footer.remove()
footer = section.headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_EVEN)
if footer is not None:
footer.remove()
doc.save(ARTIFACTS_DIR + "RemoveContent.remove_footers.docx")