TxtExportHeadersFootersMode enumeration

TxtExportHeadersFootersMode enumeration

Specifies the way headers and footers are exported to plain text format.

Members

NameDescription
NONENo headers and footers are exported.
PRIMARY_ONLYOnly primary headers and footers are exported at the beginning and end of each section.
ALL_AT_ENDAll headers and footers are placed after all section bodies at the very end of a document.

Examples

Shows how to specify how to export headers and footers to plain text format.

doc = aw.Document()

# Insert even and primary headers/footers into the document.
# The primary header/footers will override the even headers/footers.
doc.first_section.headers_footers.add(aw.HeaderFooter(doc, aw.HeaderFooterType.HEADER_EVEN))
doc.first_section.headers_footers.header_even.append_paragraph("Even header")
doc.first_section.headers_footers.add(aw.HeaderFooter(doc, aw.HeaderFooterType.FOOTER_EVEN))
doc.first_section.headers_footers.footer_even.append_paragraph("Even footer")
doc.first_section.headers_footers.add(aw.HeaderFooter(doc, aw.HeaderFooterType.HEADER_PRIMARY))
doc.first_section.headers_footers.header_primary.append_paragraph("Primary header")
doc.first_section.headers_footers.add(aw.HeaderFooter(doc, aw.HeaderFooterType.FOOTER_PRIMARY))
doc.first_section.headers_footers.footer_primary.append_paragraph("Primary footer")

# Insert pages to display these headers and footers.
builder = aw.DocumentBuilder(doc)
builder.writeln("Page 1")
builder.insert_break(aw.BreakType.PAGE_BREAK)
builder.writeln("Page 2")
builder.insert_break(aw.BreakType.PAGE_BREAK)
builder.write("Page 3")

# Create a "TxtSaveOptions" object, which we can pass to the document's "save" method
# to modify how we save the document to plaintext.
save_options = aw.saving.TxtSaveOptions()

# Set the "export_headers_footers_mode" property to "TxtExportHeadersFootersMode.NONE"
# to not export any headers/footers.
# Set the "export_headers_footers_mode" property to "TxtExportHeadersFootersMode.PRIMARY_ONLY"
# to only export primary headers/footers.
# Set the "export_headers_footers_mode" property to "TxtExportHeadersFootersMode.ALL_AT_END"
# to place all headers and footers for all section bodies at the end of the document.
save_options.export_headers_footers_mode = txt_export_headers_footers_mode

doc.save(ARTIFACTS_DIR + "TxtSaveOptions.export_headers_footers.txt", save_options)

with open(ARTIFACTS_DIR + "TxtSaveOptions.export_headers_footers.txt", "rb") as file:
    doc_text = file.read().decode("utf-8-sig")

if txt_export_headers_footers_mode == aw.saving.TxtExportHeadersFootersMode.ALL_AT_END:
    self.assertEqual(
        "Page 1\r\n" +
        "Page 2\r\n" +
        "Page 3\r\n" +
        "Even header\r\n\r\n" +
        "Primary header\r\n\r\n" +
        "Even footer\r\n\r\n" +
        "Primary footer\r\n\r\n", doc_text)
elif txt_export_headers_footers_mode ==  aw.saving.TxtExportHeadersFootersMode.PRIMARY_ONLY:
    self.assertEqual(
        "Primary header\r\n" +
        "Page 1\r\n" +
        "Page 2\r\n" +
        "Page 3\r\n" +
        "Primary footer\r\n", doc_text)
elif txt_export_headers_footers_mode == aw.saving.TxtExportHeadersFootersMode.NONE:
    self.assertEqual(
        "Page 1\r\n" +
        "Page 2\r\n" +
        "Page 3\r\n", doc_text)

See Also