El encabezado y el pie de página se usan comúnmente en los documentos para mostrar información importante como el número de página, el tema, el capítulo, etc. Puede agregar, insertar, eliminar o eliminar el encabezado y el pie de página en los documentos de Word DOCX DOC usando sus aplicaciones Java. En este artículo, aprenderemos a agregar o eliminar encabezados y pies de página. Los siguientes son los temas que exploraremos en detalle:

API Insertar o quitar encabezado y pie de página: instalación

Para trabajar con encabezado y pie de página en documentos de Word, usaremos la API Aspose.Words for Java, donde las llamadas sencillas a la API nos ayudarán a lograr los requisitos. Puede descargar el archivo JAR desde la sección de lanzamientos, o copiar las siguientes configuraciones de Maven en su proyecto. La API se configurará a través del repositorio de Maven y podrá continuar con los pasos adicionales que se explican en este artículo.

Repositorio:

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

Dependencia:

<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>

Agregar encabezado y pie de página en un documento de Word (DOCX/DOC) usando Java

Agregar encabezado y pie de página en documentos de Word (DOCX/DOC) es un caso de uso básico pero importante para trabajar con documentos de procesamiento de texto. Sin embargo, diferentes escenarios son posibles. Por ejemplo, es posible que deba agregar una imagen, una tabla o solo texto en la sección de encabezado y pie de página. Además, a veces el encabezado y el pie de página son diferentes en la página de título en comparación con otras páginas. A veces, el encabezado y el pie de página son diferentes en los números de página pares y diferentes en los números de página impares. Por lo tanto, hemos creado un ejemplo básico y conciso de agregar encabezado y pie de página en documentos de Word.

Aquí insertaremos un pie de página de encabezado diferente en la página de título (la primera página) y un pie de página de encabezado diferente en la página siguiente. Mientras que la segunda página tendrá un pie de página de encabezado personalizado que incluye imagen, texto y elemento de tabla. Debe seguir los pasos a continuación para agregar o insertar encabezado y pie de página en documentos de Word (DOCX/DOC) usando Java.

  1. Inicialice los objetos de clase Document y DocumentBuilder
  2. Especifique que desea un pie de página de encabezado diferente para la página de título
  3. Establecer propiedades de fuente para el texto del encabezado
  4. Crear encabezado y para páginas posteriores
  5. Insertar tabla y establecer el formato de número de página
  6. Guardar archivo DOCX de salida

El siguiente código se basa en estos pasos que muestran cómo agregar encabezado y pie de página en documentos de Word (DOCX/DOC) mediante programación usando Java:

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

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

// Especificar si queremos que los encabezados/pies de página de la primera página sean diferentes de otras páginas.
// También puede usar la propiedad PageSetup.OddAndEvenPagesHeaderFooter para especificar
// diferentes encabezados/pies de página para páginas pares e impares.
pageSetup.setDifferentFirstPageHeaderFooter(true);

// --- Crear encabezado para la primera página. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_FIRST);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);

// Establecer propiedades de fuente para el texto del encabezado.
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
builder.getFont().setSize(14);
// Especifique el título del encabezado para la primera página.
builder.write("Aspose.Words Header/Footer Creation - Title Page.");

// --- Crear encabezado para las páginas que no sean la primera. ---
pageSetup.setHeaderDistance(20);
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);

// Inserte una imagen absolutamente posicionada en la esquina superior izquierda del encabezado.
// La distancia desde los bordes superior/izquierdo de la página se establece en 10 puntos.
String imageFileName = dataDir + "Aspose.Words.gif";
builder.insertImage(imageFileName, RelativeHorizontalPosition.PAGE, 10, RelativeVerticalPosition.PAGE, 10, 50, 50, WrapType.THROUGH);

builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);
// Especifique otro título de encabezado para otras páginas.
builder.write("Aspose.Words Header/Footer Creation");

// --- Crear pie de página para las páginas que no sean la primera. ---
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);

// Usamos tabla con dos celdas para hacer una parte del texto en la línea (con numeración de páginas)
// alinear a la izquierda, y la otra parte del texto (con derechos de autor) a la derecha.
builder.startTable();

// Limpiar los bordes de la tabla
builder.getCellFormat().clearFormatting();

builder.insertCell();
// Establezca la primera celda en 1/3 del ancho de la página.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 / 3));

// Inserte aquí el texto de numeración de páginas.
// Utiliza los campos PÁGINA y NÚMERO para calcular automáticamente el número de página actual y el número total de páginas.
builder.write("Page ");
builder.insertField("PAGE", "");
builder.write(" of ");
builder.insertField("NUMPAGES", "");

// Alinea este texto a la izquierda.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);

builder.insertCell();
// Establezca la segunda celda en 2/3 del ancho de la página.
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPercent(100 * 2 / 3));

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

// Alinea este texto a la derecha.
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT);

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

builder.moveToDocumentEnd();
// Haga un salto de página para crear una segunda página en la que se verán los encabezados/pies de página principales.
builder.insertBreak(BreakType.PAGE_BREAK);

// Guarde el documento resultante.
doc.save(dataDir + "HeaderFooter_Out.docx");

Hasta ahora hemos aprendido cómo agregar o insertar encabezados y pies de página en archivos de Word. A continuación se muestra una captura de pantalla de cómo se ve la salida cuando la ve a través de la opción Vista previa de impresión.

Esta característica puede ayudar mucho cuando sus aplicaciones procesan diferentes documentos DOC/DOCX en los que desea agregar algún contenido como encabezado de pie de página de los documentos de salida.

Agregar o quitar encabezado de pie de página

Procedamos a eliminar el encabezado y el pie de página de los archivos de MS Word (DOCX/DOC).

Eliminar encabezado y pie de página de documento de Word (DOCX/DOC) usando Java

Puede eliminar el encabezado y el pie de página de los documentos de Word utilizando Aspose.Words for Java API. Como se discutió anteriormente, podría haber tres tipos diferentes de encabezado y pie de página agregados en un documento. Por ejemplo, en la portada, en las páginas pares y en los números de página impares. Puede eliminar todos los encabezados y pies de página en un archivo de Word simplemente siguiendo los pasos a continuación:

  1. Cargar archivo DOCX/DOC de origen
  2. Encuentre encabezado y pie de página en la página de título, números de página pares y números de página impares
  3. Elimine la sección requerida cuando la encuentre
  4. Guardar archivo DOCX de salida

El siguiente código sigue estos pasos y muestra cómo eliminar el encabezado y el pie de página en documentos de Word usando Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Son posibles hasta tres pies de página de encabezado diferentes en una sección (para las primeras páginas, pares e impares).
	// Los revisamos y borramos todos.
	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();

	// El pie de página del encabezado principal se utiliza para las páginas impares.
	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");

Quitar el pie de página del documento de Word (DOCX/DOC) usando Java

Ya hemos discutido cómo eliminar o eliminar el encabezado y el pie de página de los archivos de Word. Sin embargo, es posible que desee eliminar solo los pies de página de un documento de Word y dejar intacto el encabezado. Estos requisitos son fácilmente posibles con los siguientes pasos:

  1. Cargar archivo de Word fuente (DOCX/DOC)
  2. Iterar a través de cada sección del documento de Word
  3. Inicializar objeto HeaderFooter
  4. Eliminar pie de página del archivo de entrada
  5. Guardar archivo DOCX/DOC actualizado

El siguiente fragmento de código explica cómo eliminar el pie de página de un documento de Word usando Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Son posibles hasta tres pies de página diferentes en una sección (para las primeras páginas, pares e impares).
	// Los revisamos y borramos todos.
	HeaderFooter footer;

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

	// El pie de página principal es el pie de página utilizado para las páginas impares.
	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");

Eliminar encabezado de documento de Word (DOCX/DOC) usando Java

Ya que hemos aprendido a eliminar o eliminar solo el pie de página de los archivos de MS Word. Exploremos este otro paso más en el que es posible que deba eliminar solo los encabezados de los documentos de Word. Los pies de página seguirán siendo los mismos y no se verán afectados porque nuestro enfoque aquí es eliminar solo los encabezados. Los siguientes pasos proporcionan un esquema del procedimiento que se adoptará para este propósito:

  1. Cargar archivo Word de entrada (DOCX/DOC)
  2. Inicializar una instancia de la clase HeaderFooter
  3. Eliminar encabezados de todas las secciones del documento de entrada
  4. Guardar archivo DOCX de actualización

El siguiente código muestra cómo eliminar o eliminar el encabezado de los documentos de Word usando Java:

Document doc = new Document(dataDir + "HeaderFooter.doc");
for (Section section : doc.getSections()) {
	// Son posibles hasta tres pies de página diferentes en una sección (para las primeras páginas, pares e impares).
	// Los revisamos y borramos todos.
	HeaderFooter header;

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

	// El pie de página principal es el pie de página utilizado para las páginas impares.
	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");

Conclusión

Agregar, insertar, quitar o eliminar encabezado y pie de página en documentos de Word es un caso de uso muy importante y frecuente del procesamiento de textos. Casi todos los documentos contienen encabezados y pies de página, que se pueden manipular con Aspose.Words for Java API según sus requisitos. Este artículo es una descripción general de las funciones relacionadas donde puede discutir cualquier caso de uso personalizado y requisitos con nosotros a través de Foros de soporte gratuitos. No dude en comunicarse con nosotros para cualquier consulta e inquietud.

Ver también