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 DifferentFirstPageHeaderFooter 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-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Specify that we want different headers and footers for first page. | |
builder.PageSetup.DifferentFirstPageHeaderFooter = true; | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst); | |
builder.Write("Header for the first page."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterFirst); | |
builder.Write("Footer for the first page."); | |
builder.MoveToSection(0); | |
builder.Writeln("Page 1"); | |
builder.InsertBreak(BreakType.PageBreak); | |
builder.Writeln("Page 2"); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.DifferentFirstPage.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 OddAndEvenPagesHeaderFooter 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-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Specify that we want different headers and footers for even and odd pages. | |
builder.PageSetup.OddAndEvenPagesHeaderFooter = true; | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderEven); | |
builder.Write("Header for even pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.Write("Header for odd pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterEven); | |
builder.Write("Footer for even pages."); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); | |
builder.Write("Footer for odd pages."); | |
builder.MoveToSection(0); | |
builder.Writeln("Page 1"); | |
builder.InsertBreak(BreakType.PageBreak); | |
builder.Writeln("Page 2"); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.OddEvenPages.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 InsertImage.
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-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.InsertImage(ImagesDir + "Logo.jpg", RelativeHorizontalPosition.RightMargin, 10, | |
RelativeVerticalPosition.Page, 10, 50, 50, WrapType.Through); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.InsertImage.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-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); | |
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; | |
builder.Font.Name = "Arial"; | |
builder.Font.Bold = true; | |
builder.Font.Size = 14; | |
builder.Write("Header for page."); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.FontProps.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 InsertField 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-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); | |
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right; | |
builder.Write("Page "); | |
builder.InsertField("PAGE", ""); | |
builder.Write(" of "); | |
builder.InsertField("NUMPAGES", ""); | |
doc.Save(ArtifactsDir + "WorkingWithHeadersAndFooters.PageNumbers.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: