Lavorare con intestazioni e piè di pagina
Aspose.Words consente agli utenti di lavorare con intestazioni e piè di pagina in un documento. Un’intestazione è il testo posizionato nella parte superiore della pagina, mentre un piè di pagina è il testo nella parte inferiore della pagina. In genere, queste aree vengono utilizzate per inserire informazioni che dovrebbero essere ripetute su tutte o alcune pagine del documento, come numeri di pagina, data di creazione, informazioni aziendali e così via.
Crea intestazioni o piè di pagina utilizzando DocumentBuilder
Se desideri aggiungere un’intestazione o un piè di pagina del documento a livello di codice, il modo più semplice è utilizzare la classe DocumentBuilder per farlo.
L’esempio di codice seguente mostra come aggiungere un’intestazione e un piè di pagina per le pagine del documento:
Specificare le opzioni di intestazione o piè di pagina
Quando aggiungi un’intestazione o un piè di pagina a un documento, puoi impostare alcune proprietà avanzate. Aspose.Words fornisce agli utenti le classi HeaderFooter e HeaderFooterCollection, nonché l’enumerazione HeaderFooterType che offre un maggiore controllo sul processo di personalizzazione di intestazione e piè di pagina.
Specificare il tipo di intestazione o piè di pagina
Puoi specificare tre diversi tipi di intestazione e tre diversi tipi di piè di pagina per un documento:
- Intestazione e/o piè di pagina per la prima pagina
- Intestazione e/o piè di pagina per le pagine pari
- Intestazione e/o piè di pagina per le pagine dispari
L’esempio di codice seguente mostra come aggiungere un’intestazione per le pagine del documento dispari:
Specificare se visualizzare intestazioni o piè di pagina diversi per la prima pagina
Come detto sopra, puoi anche impostare un’intestazione o un piè di pagina diversi per la prima pagina. Per fare ciò, è necessario impostare il flag different_first_page_header_footer su true
e quindi specificare il valore HeaderFirst o FooterFirst.
L’esempio di codice seguente mostra come impostare l’intestazione solo per la prima pagina:
# 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") |
Specificare se visualizzare intestazioni o piè di pagina diversi per le pagine pari o dispari
Successivamente, dovrai impostare intestazioni o piè di pagina diversi per le pagine pari e dispari in un documento. Per fare ciò è necessario impostare il flag odd_and_even_pages_header_footer su true
e quindi specificare i valori HeaderPrimary e HeaderEven, oppure FooterPrimary e 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") |
Inserisci un’immagine con posizione assoluta nell’intestazione
Per inserire un’immagine in un’intestazione o un piè di pagina, utilizzare il tipo di intestazione HeaderPrimary o il tipo di piè di pagina FooterPrimary e il metodo insert_image.
L’esempio di codice seguente mostra come aggiungere un’immagine a un’intestazione:
# 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") |
Imposta le proprietà del carattere e del paragrafo per il testo dell’intestazione o del piè di pagina
Con Aspose.Words puoi impostare le proprietà del carattere e del paragrafo, utilizzare il tipo di intestazione HeaderPrimary o il tipo di piè di pagina FooterPrimary, nonché metodi e proprietà per lavorare con i caratteri e i paragrafi che utilizzi per il corpo del documento.
L’esempio di codice seguente mostra come impostare il testo nell’intestazione su Arial, grassetto, dimensione 14 e allineamento al centro:
# 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") |
Inserisci i numeri di pagina nell’intestazione o nel piè di pagina
Se necessario, puoi aggiungere numeri di pagina all’intestazione o al piè di pagina. A tale scopo, utilizzare il tipo di intestazione HeaderPrimary o il tipo di piè di pagina FooterPrimary e il metodo insert_field per aggiungere il campo richiesto.
L’esempio di codice seguente mostra come aggiungere i numeri di pagina al piè di pagina a destra:
# 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") |
Utilizza intestazioni o piè di pagina definiti nella sezione precedente
Se devi copiare l’intestazione o il piè di pagina della sezione precedente, puoi farlo anche tu.
L’esempio di codice seguente mostra come copiare l’intestazione o il piè di pagina dalla sezione precedente:
Garantire l’aspetto dell’intestazione o del piè di pagina quando si utilizzano orientamenti e dimensioni della pagina diversi
Aspose.Words consente di fornire l’aspetto di un’intestazione o di un piè di pagina quando si utilizzano orientamenti e dimensioni di pagina diversi.
L’esempio seguente mostra come eseguire questa operazione:
Come rimuovere solo intestazioni o solo piè di pagina
Ciascuna sezione di un documento può avere fino a tre intestazioni e fino a tre piè di pagina (per la prima pagina, pari e dispari). Se desideri rimuovere tutte le intestazioni o tutti i piè di pagina in un documento, devi scorrere tutte le sezioni e rimuovere ciascun nodo di intestazione o nodo di piè di pagina corrispondente.
Nell’esempio di codice seguente viene illustrato come rimuovere tutti i piè di pagina da tutte le sezioni lasciando intatte le intestazioni. Puoi rimuovere solo le intestazioni in modo simile: