Agregar encabezado y pie de página a PDF

Un encabezado es un texto que se coloca en el margen superior de una página, mientras que un pie de página se coloca en la parte inferior o pie de página. Normalmente, estas áreas se utilizan para insertar información del documento, como el nombre del documento, el encabezado del capítulo, los números de página, la fecha de creación, etc. Esta información se repite en cada página y, por lo tanto, permite al lector navegar fácilmente por el documento.

Además, tenga en cuenta que los encabezados y pies de página son útiles para proporcionar información rápida sobre su documento en un formato predecible y también ayudan a organizar las diferentes partes de un documento. En este artículo, aprenderemos a agregar texto e imágenes a las áreas de encabezado y pie de página de los archivos PDF utilizando Aspose.PDF Cloud SDK for Java.

Agregar texto al encabezado usando cURL

Los comandos cURL son una forma interesante de acceder a las API RESTFul a través de la terminal de línea de comandos. Dado que Aspose.PDF Cloud SDK se desarrolló según los principios REST, se puede acceder fácilmente a través del símbolo del sistema. Sin embargo, tenga en cuenta que, para garantizar la privacidad del usuario y la integridad de los datos, todas nuestras API solo son accesibles para personas autorizadas. Por lo tanto, primero debe visitar el panel de control de Aspose.Cloud y, si tiene una cuenta de GitHub o Google, simplemente regístrese. De lo contrario, haga clic en el botón Crear una nueva cuenta y proporcione la información requerida. Ahora inicie sesión en el panel de control con credenciales y expanda la sección Aplicaciones desde el panel de control y desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

El siguiente comando muestra cómo crear un token de acceso JWT que se utilizará para agregar texto en el área de Encabezado del documento PDF.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Utilice el siguiente comando cURL para agregar texto en la sección de encabezado del documento PDF.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithAnnotations.pdf/header/text?startPageNumber=2&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": true,  \"HorizontalAlignment\": \"CENTER\",  \"Opacity\": 0.8,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 0,  \"YIndent\": 0,  \"Zoom\": 1,  \"TextAlignment\": \"CENTER\",  \"Value\": \"Aspose.PDF Cloud SDK for Java via cURL\",  \"TextState\": {    \"FontSize\": 16,    \"Font\": \"Arial\",    \"ForegroundColor\": {      \"A\": 0,      \"R\": 0xDA,      \"G\": 0xA5,      \"B\": 0x20    },    \"BackgroundColor\": {      \"A\": 0,      \"R\": 0xFA,      \"G\": 0xEB,      \"B\": 0xD7    },  },  \"LeftMargin\": 1,  \"TopMargin\": 20,  \"RightMargin\": 200}"
Encabezado de texto en PDF

Imagen 1: Encabezado de texto agregado mediante el comando cURL.

Los archivos de muestra utilizados en este ejemplo se pueden descargar desde:

Cómo agregar un encabezado de texto en un PDF con Java

Para utilizar el SDK, primero debe instalarlo desde Maven o GitHub. A continuación, se detalla cómo descargar y utilizar Aspose.Pdf.jar en el proyecto de compilación de Maven.

Agregue las siguientes dependencias en su archivo pom.xml.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

A continuación se detallan los pasos a seguir para cumplir con este requisito.

  • En primer lugar, cree una instancia de PdfApi mientras proporciona los detalles de ClientSecret y ClientId
  • En segundo lugar, cree un objeto Color para definir los detalles de color de primer plano y de fondo.
  • En segundo lugar, cree un objeto de la clase TextState.
  • Utilice el método fontSize(..) para establecer los detalles del tamaño de la fuente. El método font(..) define el tipo de fuente. El método closeupColor(…) define los detalles del primer plano del texto y el método backgroundColor(…) define la información de fondo.
  • Ahora cree el objeto TextHeader y defina los detalles del margen.
  • Utilice los métodos value(..) para especificar el contenido del objeto de encabezado de texto.
  • Ahora llame al método textState(…) y pase la instancia TextState creada anteriormente como argumento.
  • Para mostrar el encabezado detrás del contenido de la página, pase el valor verdadero como argumento al método background(…) de la clase TextHeader.
  • Ahora, para renderizar la imagen en el lado izquierdo, pase el valor HorizontalAlignment.CENTER al método horizontalAlignment(…).
  • El método opacity(…) indica la opacidad del sello. El valor predeterminado es 1,0.
  • Una vez que hayamos establecido el valor de zoom, creamos el objeto AsposeResponse.
  • Por último, llame al método PdfApi.postDocumentTextHeader(…) y pase el nombre del archivo PDF de origen, el objeto TextHeader, las páginas de inicio y fin (donde se debe agregar el sello) como argumentos.
// Obtenga ClientID y ClientSecret desde https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instancia createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF de entrada
String sourcePDF = "PdfWithAnnotations.pdf";

// Página de inicio del PDF para colocar la imagen de encabezado
int startPage = 2;

// Página final del PDF para colocar la imagen del encabezado
int endPage = 3;
		        
// Especifique el color de primer plano como SlateBlue en código hexadecimal
Color foregroundColor = new Color();
foregroundColor.setA(0x00);
foregroundColor.setR(0x6A);
foregroundColor.setG(0x5A);
foregroundColor.setB(0xCD);

// Especifique el color de fondo como AntiqueWhite en código hexadecimal
Color backgroundColor = new Color();
backgroundColor.setA(0x00);
backgroundColor.setR(0xFA);
backgroundColor.setG(0xEB);
backgroundColor.setB(0xD7);

// Cree un objeto TextState para definir el tamaño de la fuente, el tipo y los detalles del color
TextState textState = new TextState()
  .fontSize(16.)
  .foregroundColor(foregroundColor)
  .backgroundColor(backgroundColor)
  .font("Arial");
		        
// crear una instancia del objeto TextHeader
TextHeader headerObject = new TextHeader()    
  .leftMargin(1.)
  .rightMargin(200.)
  .topMargin(10.)
	
  // El contenido del encabezado de texto que se va a representar
  .value("Aspose.PDF Cloud SDK For Java")
	
  // Establecer la alineación como centro
  .textAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
  .textState(textState);
	
  // Establecer el texto del encabezado detrás del contenido de la página
  headerObject.background(true)
	
  // Establezca la alineación del encabezado de texto como Centrado
  .horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	
  // Establezca la opacidad del encabezado de texto en 0,8
  .opacity(0.8)
  .rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
  .rotateAngle(0.)
  .xindent(2.0)
  .yindent(5.0)
  .zoom(1.0);

// Llamar al método API para agregar un encabezado de texto a un PDF
AsposeResponse response = pdfApi.postDocumentTextHeader(sourcePDF, headerObject,startPage, endPage, null, null);
assertEquals(200, (int)response.getCode());
Encabezado de texto añadido en Java

Imagen 2: Vista previa del encabezado de texto agregado con Java.

Para agregar texto en el área de pie de página, cree una instancia de la clase TextFooter y llame al método postDocumentTextFooter(…) de la clase PdfApi. Los pasos y detalles restantes serán los mismos que los mencionados anteriormente para agregar el encabezado de texto.

Imagen en encabezado PDF usando cURL

Podemos agregar archivos de imagen fácilmente usando la API PostDocumentImageHeader en la sección de encabezado del archivo PDF usando el comando cURL. Al agregar un sello de imagen, tenemos la opción de especificar la alineación horizontal, la opacidad, el ángulo de rotación, el factor de zoom de la imagen, el ancho, la altura, el margen izquierdo, el margen superior, el margen derecho, etc.

El parámetro name define el documento PDF de entrada/fuente, imageHeader especifica el archivo de imagen que se va a estampar, la propiedad startPageNumber define la página de inicio y endPageNumber la página final del documento PDF que contendrá las estampas de imagen. En el siguiente comando cURL, la propiedad Background se establece como false para que la imagen sea visible. La alineación horizontal se especifica como Left, el valor de opacidad se define como 0,8, el factor de zoom se establece como 1, el ancho se define como 250, la altura se define como 80 puntos y el margen derecho se especifica como 500 puntos.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithAnnotations.pdf/header/image?startPageNumber=2&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"  \
-H  "Content-Type: application/json" \
-d "{"Background":false,"HorizontalAlignment":'Left',"Opacity": .8,"Rotate":'None',"RotateAngle": 0,"XIndent": 2,"YIndent": 5,"Zoom": 1,"FileName": 'asposetoolsnew.png',"Width": 250,"Height": 80,"LeftMargin": 1,"TopMargin": 10,"RightMargin": 500}"
Sello de imagen en el encabezado

Imagen 3: Sello de imagen en la sección Encabezado del PDF.

Los archivos de muestra utilizados en el ejemplo anterior se pueden descargar desde el siguiente enlace:

Agregar imagen al encabezado usando Java

Aspose.PDF Cloud SDK para Java proporciona una característica notable para agregar un encabezado de imagen en un archivo PDF con menos líneas de código.

A continuación se muestran los pasos sobre cómo agregar un encabezado de imagen en un documento PDF

  • Cree un objeto de PdfApi mientras proporciona los detalles de ClientSecret y ClientId.
  • En segundo lugar, cree un objeto de la clase ImageHeader.
  • Utilice los métodos width(..) y height(…) de la clase ImageHeader para establecer los detalles de ancho y alto de la imagen.
  • Ahora use el método fileName(…) para establecer los detalles de la ruta para la imagen del encabezado.
  • Para mostrar la imagen detrás del contenido de la página, pase el argumento falso al método background(…).
  • Ahora, para renderizar la imagen en el lado izquierdo, pase el valor HorizontalAlignment.LEFT al método horizontalAlignment(…).
  • El método opacity(…) indica la opacidad del sello. El valor predeterminado es 1,0.
  • Una vez que hayamos establecido el valor de zoom, creamos el objeto AsposeResponse.
  • Por último, llame al método PdfApi.postDocumentImageHeader(…) mientras pasa el nombre del archivo PDF de origen, el objeto ImageHeader, las páginas de inicio y final (donde se debe agregar el sello) como argumentos a este método.
// Obtenga ClientID y ClientSecret desde https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instancia createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// documento PDF de entrada
String sourcePDF = "PdfWithAnnotations.pdf";

// Página de inicio del PDF para colocar la imagen de encabezado
int startPage = 2;

// Página final del PDF para colocar la imagen del encabezado
int endPage = 3;
		        
// crear una instancia del objeto ImageHeader
ImageHeader headerObject = new ImageHeader()
	.width(250.0)
	.height(80.0)
	.leftMargin(1.)
	.rightMargin(500.)
	.topMargin(10.)
	.fileName("asposetoolsnew.png");
	
	// Traer la imagen del encabezado al primer plano/visible
	headerObject.background(false)
	
	// Establecer la alineación del encabezado de la imagen como Izquierda
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.LEFT)
	.opacity(0.8)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
	.rotateAngle(0.)
	.xindent(2.0)
	.yindent(5.0)
	.zoom(1.0);

// Llamar al método API para agregar una imagen de encabezado en PDF
AsposeResponse response = pdfApi.postDocumentImageHeader(sourcePDF, headerObject,startPage, endPage, null, null);

Para agregar una imagen en el área de pie de página, cree un objeto de la clase ImageFooter y llame al método postDocumentImageFooter(…) de la clase pdfApi. El resto de los pasos serán los mismos que los explicados anteriormente para la sección Imagen en el encabezado.

Conclusión

En este artículo, analizamos los pasos para acceder a Aspose.PDF Cloud a través de comandos cURL para agregar texto e imágenes en las áreas de encabezado y pie de página de los documentos PDF. También exploramos los pasos para instalar Aspose.PDF Cloud SDK para Java y usarlo en lenguaje Java para agregar texto e imágenes en la sección de encabezado o pie de página del archivo PDF. Para obtener más detalles sobre otras características interesantes de la API, explore la documentación del producto.

Todos nuestros SDK en la nube son de código abierto, por lo que se puede descargar un código fuente completo desde GitHub.