Intestazione e piè di pagina sono comunemente usati nei documenti per mostrare informazioni importanti come numero di pagina, argomento, capitolo, ecc. Puoi aggiungere, inserire, eliminare o rimuovere intestazione e piè di pagina nei documenti Word DOCX DOC utilizzando le tue applicazioni Java. In questo articolo impareremo come aggiungere o rimuovere intestazioni e piè di pagina. Di seguito gli argomenti che esploreremo in dettaglio:

Inserisci o rimuovi l’API del piè di pagina dell’intestazione – Installazione

Per lavorare con intestazione e piè di pagina nei documenti Word, utilizzeremo l’API Aspose.Words for Java in cui semplici chiamate API ci aiuteranno a soddisfare i requisiti. Puoi scaricare il file JAR dalla sezione rilasci o copiare le seguenti configurazioni Maven nel tuo progetto. L’API verrà configurata tramite il repository Maven e sarà bene procedere con gli ulteriori passaggi spiegati in questo articolo.

Archivio:

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Dipendenza:

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>jdk17</classifier>
    </dependency>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.8</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>

Aggiungi intestazione e piè di pagina nel documento Word (DOCX/DOC) utilizzando Java

L’aggiunta di intestazione e piè di pagina nei documenti di Word (DOCX/DOC) è un caso d’uso di base ma importante per lavorare con i documenti di elaborazione testi. Tuttavia, sono possibili diversi scenari. Ad esempio, potrebbe essere necessario aggiungere un’immagine, una tabella o solo del testo nella sezione dell’intestazione e del piè di pagina. Inoltre, a volte l’intestazione e il piè di pagina sono diversi nella pagina del titolo rispetto ad altre pagine. A volte l’intestazione e il piè di pagina sono diversi sui numeri di pagina pari e diversi sui numeri di pagina dispari. Pertanto, abbiamo creato un esempio conciso e di base dell’aggiunta di intestazione e piè di pagina nei documenti di Word.

Qui inseriremo un diverso piè di pagina dell’intestazione nella pagina del titolo (prima pagina) e un diverso piè di pagina dell’intestazione nella pagina successiva. Considerando che, la seconda pagina avrà un piè di pagina di intestazione personalizzato che include immagini, testo ed elementi di tabella. È necessario seguire i passaggi seguenti per aggiungere o inserire intestazione e piè di pagina nei documenti Word (DOCX/DOC) utilizzando Java.

  1. Inizializza gli oggetti di classe Document e DocumentBuilder.
  2. Specifica che desideri un piè di pagina dell’intestazione diverso per la pagina del titolo
  3. Imposta le proprietà del carattere per il testo dell’intestazione
  4. Crea intestazione e per le pagine successive
  5. Inserisci la tabella e imposta il formato del numero di pagina
  6. Salva il file DOCX di output

Il codice seguente si basa su questi passaggi che mostrano come aggiungere intestazione e piè di pagina nei documenti Word (DOCX/DOC) a livello di codice utilizzando Java:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Section currentSection = builder.getCurrentSection();
PageSetup pageSetup = currentSection.getPageSetup();

// Specificare se vogliamo che le intestazioni/piè di pagina della prima pagina siano diversi dalle altre pagine.
// Puoi anche usare la proprietà PageSetup.OddAndEvenPagesHeaderFooter per specificare
// intestazioni/piè di pagina differenti per le pagine pari e dispari.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- Crea un'intestazione per la prima pagina. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Imposta le proprietà del carattere per il testo dell'intestazione.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Specifica il titolo dell'intestazione per la prima pagina.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- Crea intestazione per pagine diverse dalla prima. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Inserisci un'immagine posizionata in modo assoluto nell'angolo superiore/sinistro dell'intestazione.
// La distanza dai bordi superiore/sinistro della pagina è impostata su 10 punti.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Specifica un altro titolo di intestazione per le altre pagine.
builder.write("Aspose.Words Header/Footer Creation");

// --- Crea piè di pagina per pagine diverse dalla prima. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Usiamo la tabella con due celle per creare una parte del testo sulla riga (con la numerazione delle pagine)
// da allineare a sinistra e l'altra parte del testo (con copyright) da allineare a destra.
builder.startTable();

// Cancella i bordi del tavolo
builder.getCellFormat().clearFormatting();

builder.insertCell();
// Imposta la prima cella su 1/3 della larghezza della pagina.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Inserisci qui il testo della numerazione delle pagine.
// Utilizza i campi PAGE e NUMPAGES per calcolare automaticamente il numero di pagina corrente e il numero totale di pagine.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Allinea questo testo a sinistra.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// Imposta la seconda cella su 2/3 della larghezza della pagina.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

builder.write("(C) 2020 Aspose Pty Ltd. All rights reserved.");

// Allinea questo testo a destra.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

builder.endRow();
builder.endTable();

builder.moveToDocumentEnd();
// Crea un'interruzione di pagina per creare una seconda pagina in cui verranno visualizzate le intestazioni/piè di pagina principali.
builder.insertBreak(BreakType.PAGE_BREAK);

// Salva il documento risultante.
doc.save(dataDir + "HeaderFooter_Out.docx");

Finora abbiamo imparato come aggiungere o inserire intestazione e piè di pagina nei file di parole. Di seguito è riportato uno screenshot di come appare l’output quando lo vedi tramite l’opzione Anteprima di stampa.

Questa funzione può essere di grande aiuto quando diversi documenti DOC/DOCX vengono elaborati dalle applicazioni in cui si desidera aggiungere del contenuto come piè di pagina dell’intestazione dei documenti di output.

Aggiungi o rimuovi il piè di pagina dell'intestazione

Procediamo con il check-out eliminando l’intestazione e il piè di pagina dai file MS Word (DOCX/DOC).

Elimina intestazione e piè di pagina del documento Word (DOCX/DOC) utilizzando Java

È possibile eliminare l’intestazione e il piè di pagina dei documenti Word utilizzando Aspose.Words per l’API Java. Come discusso in precedenza, in un documento potrebbero essere aggiunti tre diversi tipi di intestazione e piè di pagina. Ad esempio, sul frontespizio, sulle pagine pari e sui numeri di pagina dispari. Puoi eliminare tutte le intestazioni e i piè di pagina in un file word semplicemente seguendo i passaggi seguenti:

  1. Carica il file DOCX/DOC di origine
  2. Trova intestazione e piè di pagina nella pagina del titolo, numeri di pagina pari e numeri di pagina dispari
  3. Elimina la sezione richiesta quando viene trovata
  4. Salva il file DOCX di output

Il codice seguente segue questi passaggi e mostra come eliminare l’intestazione e il piè di pagina nei documenti Word utilizzando Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// In una sezione sono possibili fino a tre diversi piè di pagina di intestazione (per le pagine prime, pari e dispari).
	// Li controlliamo ed eliminiamo tutti.
	HeaderFooter footer;
        HeaderFooter header;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
        
        
	if (footer != null)
		footer.remove();
        
        	if (header != null)
		header.remove();

	// Il piè di pagina dell'intestazione principale viene utilizzato per le pagine dispari.
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();
        
        header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
        
       	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}

doc.save(dataDir + "RemoveHeaderFooter_Out.docx");

Rimuovere il piè di pagina dal documento di Word (DOCX/DOC) utilizzando Java

Abbiamo già discusso come rimuovere o eliminare intestazione e piè di pagina dai file di Word. Tuttavia, potresti voler rimuovere solo i piè di pagina di un documento di Word lasciando intatta l’intestazione. Questi requisiti sono facilmente possibili con i seguenti passaggi:

  1. Carica file di parole sorgente (DOCX/DOC)
  2. Scorri ogni sezione del documento word
  3. Inizializza l’oggetto HeaderFooter.
  4. Elimina il piè di pagina dal file di input
  5. Salva il file DOCX/DOC aggiornato

Il seguente frammento di codice spiega come rimuovere il piè di pagina dal documento Word utilizzando Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Sono possibili fino a tre diversi piè di pagina in una sezione (per le pagine prime, pari e dispari).
	// Li controlliamo ed eliminiamo tutti.
	HeaderFooter footer;

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_FIRST);
	if (footer != null)
		footer.remove();

	// Il piè di pagina principale è il piè di pagina utilizzato per le pagine dispari.
	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_PRIMARY);
	if (footer != null)
		footer.remove();

	footer = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.FOOTER_EVEN);
	if (footer != null)
		footer.remove();
}
doc.save(dataDir + "RemoveFooters.docx");

Rimuovere l’intestazione dal documento di Word (DOCX/DOC) utilizzando Java

Dal momento che abbiamo imparato a rimuovere o eliminare solo il piè di pagina dai file MS Word. Esploriamo ulteriormente questo ulteriore passaggio in cui potrebbe essere necessario rimuovere solo le intestazioni dai documenti di Word. I piè di pagina rimarranno gli stessi e inalterati perché il nostro obiettivo qui è eliminare solo le intestazioni. I seguenti passaggi forniscono uno schema della procedura da adottare a tal fine:

  1. Carica file Word di input (DOCX/DOC)
  2. Inizializza un’istanza della classe HeaderFooter.
  3. Rimuovere le intestazioni da tutte le sezioni del documento di input
  4. Salva il file DOCX di aggiornamento

Di seguito il codice mostra come eliminare o rimuovere l’intestazione dai documenti Word utilizzando Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Sono possibili fino a tre diversi piè di pagina in una sezione (per le pagine prime, pari e dispari).
	// Li controlliamo ed eliminiamo tutti.
	HeaderFooter header;

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_FIRST);
	if (header != null)
		header.remove();

	// Il piè di pagina principale è il piè di pagina utilizzato per le pagine dispari.
	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_PRIMARY);
	if (header != null)
		header.remove();

	header = section.getHeadersFooters().getByHeaderFooterType(HeaderFooterType.HEADER_EVEN);
	if (header != null)
		header.remove();
}
doc.save(dataDir + "RemoveHeader.docx");

Conclusione

Aggiungere, inserire, rimuovere o eliminare intestazione e piè di pagina nei documenti di Word è un caso d’uso molto importante e frequente dell’elaborazione di testi. Quasi tutti i documenti contengono intestazioni e piè di pagina, che possono essere manipolati con Aspose.Words per l’API Java secondo le tue esigenze. Questo articolo è una panoramica delle funzionalità correlate in cui puoi discutere con noi di qualsiasi caso d’uso personalizzato e requisiti tramite Forum di supporto gratuito. Sentiti libero di contattarci per qualsiasi domanda e dubbio.

Guarda anche