Ajouter un en-tête et un pied de page au PDF

Un en-tête est un texte placé dans la marge en haut d’une page, tandis qu’un pied de page est placé en bas, ou au pied, d’une page. Ces zones sont généralement utilisées pour insérer des informations sur le document, telles que le nom du document, le titre du chapitre, les numéros de page, la date de création, etc. Ces informations sont répétées sur chaque page et permettent ainsi au lecteur de naviguer facilement dans le document.

De plus, sachez que les en-têtes et les pieds de page sont utiles pour fournir des informations rapides sur votre document dans un format prévisible et aident également à organiser les différentes parties d’un document. Dans cet article, nous allons découvrir comment ajouter du texte et des images aux zones d’en-tête et de pied de page des fichiers PDF à l’aide de Aspose.PDF Cloud SDK for Java.

Ajouter du texte à l’en-tête à l’aide de cURL

Les commandes cURL sont un moyen intéressant d’accéder aux API RESTFul via le terminal de ligne de commande. Étant donné qu’Aspose.PDF Cloud SDK est développé selon les principes REST, il est facilement accessible via l’invite de commande. Cependant, veuillez noter que pour garantir la confidentialité des utilisateurs et l’intégrité des données, toutes nos API ne sont accessibles qu’aux personnes autorisées. Par conséquent, vous devez d’abord visiter tableau de bord Aspose.Cloud et si vous avez un compte GitHub ou Google, inscrivez-vous simplement. Sinon, cliquez sur le bouton Créer un nouveau compte et fournissez les informations requises. Connectez-vous maintenant au tableau de bord à l’aide des informations d’identification et développez la section Applications du tableau de bord et faites défiler vers le bas jusqu’à la section Informations d’identification du client pour voir les détails de l’ID client et du secret client.

La commande suivante montre comment créer un jeton d’accès JWT qui sera utilisé pour ajouter du texte dans la zone d’en-tête du document 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"

Utilisez la commande cURL suivante pour ajouter du texte dans la section d’en-tête du document 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}"
En-tête de texte dans PDF

Image 1 : En-tête de texte ajouté via la commande cURL.

Les fichiers d’exemple utilisés dans cet exemple peuvent être téléchargés à partir de :

Ajout d’un en-tête de texte dans un PDF à l’aide de Java

Pour utiliser le SDK, vous devez d’abord l’installer depuis Maven ou GitHub. Vous trouverez ci-dessous les détails sur la façon de télécharger et d’utiliser Aspose.Pdf.jar dans le projet de build Maven.

Ajoutez les dépendances suivantes dans votre fichier 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>

Vous trouverez ci-dessous les étapes à suivre pour répondre à cette exigence.

  • Tout d’abord, créez une instance de PdfApi tout en fournissant les détails ClientSecret et ClientId
  • Deuxièmement, créez un objet Couleur pour définir les détails de couleur de premier plan et d’arrière-plan.
  • Deuxièmement, créez un objet de classe TextState.
  • Utilisez la méthode fontSize(..) pour définir les détails de la taille de la police. La méthode font(..) permet de définir la police. La méthode foregroundColor(…) définit les détails du premier plan du texte et la méthode backgroundColor(…) permet de définir les informations d’arrière-plan.
  • Créez maintenant l’objet TextHeader et définissez les détails de la marge.
  • Utilisez les méthodes value(..) pour spécifier le contenu de l’objet Text Header.
  • Appelez maintenant la méthode textState(…) et transmettez l’instance TextState créée ci-dessus comme argument.
  • Afin d’afficher l’en-tête derrière le contenu de la page, transmettez la valeur true comme argument à la méthode background(…) de la classe TextHeader.
  • Maintenant, pour restituer l’image sur le côté gauche, transmettez la valeur HorizontalAlignment.CENTER à la méthode horizontalAlignment(…).
  • La méthode opacity(…) indique l’opacité du tampon. La valeur par défaut est 1,0.
  • Une fois la valeur de zoom définie, créez l’objet AsposeResponse.
  • Enfin, appelez la méthode PdfApi.postDocumentTextHeader(…) et transmettez le nom du fichier PDF source, l’objet TextHeader, les pages de début et de fin (où le tampon doit être ajouté) comme arguments.
// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String sourcePDF = "PdfWithAnnotations.pdf";

// page de démarrage du PDF pour placer l'image d'en-tête
int startPage = 2;

// page de fin du PDF pour placer l'image d'en-tête
int endPage = 3;
		        
// spécifiez la couleur de premier plan comme SlateBlue dans le code Hex
Color foregroundColor = new Color();
foregroundColor.setA(0x00);
foregroundColor.setR(0x6A);
foregroundColor.setG(0x5A);
foregroundColor.setB(0xCD);

// spécifiez la couleur d'arrière-plan comme AntiqueWhite dans le code hexadécimal
Color backgroundColor = new Color();
backgroundColor.setA(0x00);
backgroundColor.setR(0xFA);
backgroundColor.setG(0xEB);
backgroundColor.setB(0xD7);

// Créez un objet TextState pour définir les détails de la taille, du visage et de la couleur de la police
TextState textState = new TextState()
  .fontSize(16.)
  .foregroundColor(foregroundColor)
  .backgroundColor(backgroundColor)
  .font("Arial");
		        
// créer une instance de l'objet TextHeader
TextHeader headerObject = new TextHeader()    
  .leftMargin(1.)
  .rightMargin(200.)
  .topMargin(10.)
	
  // le contenu de l'en-tête de texte à restituer
  .value("Aspose.PDF Cloud SDK For Java")
	
  // définir l'alignement comme centre
  .textAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
  .textState(textState);
	
  // définir le texte d'en-tête derrière le contenu de la page
  headerObject.background(true)
	
  // définir l'alignement de l'en-tête du texte au centre
  .horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	
  // définir l'opacité de l'en-tête de texte sur 0,8
  .opacity(0.8)
  .rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
  .rotateAngle(0.)
  .xindent(2.0)
  .yindent(5.0)
  .zoom(1.0);

// appeler la méthode API pour ajouter un en-tête de texte au PDF
AsposeResponse response = pdfApi.postDocumentTextHeader(sourcePDF, headerObject,startPage, endPage, null, null);
assertEquals(200, (int)response.getCode());
En-tête de texte ajouté en Java

Image 2 : Aperçu de l’en-tête de texte ajouté avec Java.

Pour ajouter du texte dans la zone de pied de page, veuillez créer une instance de la classe TextFooter et appeler la méthode postDocumentTextFooter(…) de la classe PdfApi. Les étapes et détails restants resteront les mêmes que ceux mentionnés ci-dessus pour l’ajout de l’en-tête de texte.

Image dans l’en-tête PDF à l’aide de cURL

Nous pouvons facilement ajouter des fichiers image en utilisant l’API PostDocumentImageHeader dans la section d’en-tête du fichier PDF à l’aide de la commande cURL. Lors de l’ajout d’un tampon d’image, nous avons la possibilité de spécifier les détails d’alignement horizontal, d’opacité, d’angle de rotation, de facteur de zoom de l’image, de largeur, de hauteur, de marge gauche, de marge supérieure, de marge droite, etc.

Le paramètre name définit le document PDF d’entrée/source, imageHeader spécifie le fichier image à tamponner, la propriété startPageNumber définit la page de départ et la page de fin endPageNumber du document PDF devant contenir les tampons d’image. Dans la commande cURL suivante, la propriété Background est définie sur false afin que l’image soit visible. HorizontalAlignment est spécifié sur Left, la valeur Opacity est définie sur 0,8, le facteur de zoom est défini sur 1, la largeur est définie sur 250, la hauteur est définie sur 80 points et RightMargin est spécifié sur 500 points.

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}"
Tampon d'image dans l'en-tête

Image 3 : tampon d’image dans la section En-tête du PDF.

Les fichiers d’exemple utilisés dans l’exemple ci-dessus peuvent être téléchargés à partir du lien suivant :

Ajouter une image dans l’en-tête à l’aide de Java

Aspose.PDF Cloud SDK pour Java fournit une fonctionnalité remarquable pour ajouter un en-tête d’image dans un fichier PDF avec moins de lignes de code.

Vous trouverez ci-dessous les étapes à suivre pour ajouter un en-tête d’image dans un document PDF.

  • Créez un objet de PdfApi tout en fournissant les détails ClientSecret et ClientId.
  • Deuxièmement, créez un objet de classe ImageHeader.
  • Utilisez les méthodes width(..) et height(…) de la classe ImageHeader pour définir les détails de largeur et de hauteur de l’image.
  • Utilisez maintenant la méthode fileName(…) pour définir les détails du chemin pour l’image d’en-tête.
  • Afin d’afficher l’image derrière le contenu de la page, passez l’argument false à la méthode background(…).
  • Maintenant, pour restituer l’image sur le côté gauche, passez la valeur HorizontalAlignment.LEFT à la méthode horizontalAlignment(…).
  • La méthode opacity(…) indique l’opacité du tampon. La valeur par défaut est 1,0.
  • Une fois la valeur de zoom définie, créez l’objet AsposeResponse.
  • Enfin, appelez la méthode PdfApi.postDocumentImageHeader(…) tout en passant le nom du fichier PDF source, l’objet ImageHeader, les pages de début et de fin (où le tampon doit être ajouté) comme arguments à cette méthode.
// Obtenez ClientID et ClientSecret depuis https://dashboard.aspose.cloud/
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// instance createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// document PDF d'entrée
String sourcePDF = "PdfWithAnnotations.pdf";

// page de démarrage du PDF pour placer l'image d'en-tête
int startPage = 2;

// page de fin du PDF pour placer l'image d'en-tête
int endPage = 3;
		        
// créer une instance de l'objet ImageHeader
ImageHeader headerObject = new ImageHeader()
	.width(250.0)
	.height(80.0)
	.leftMargin(1.)
	.rightMargin(500.)
	.topMargin(10.)
	.fileName("asposetoolsnew.png");
	
	// amener l'image d'en-tête au premier plan/visible
	headerObject.background(false)
	
	// définir l'alignement de l'en-tête de l'image à gauche
	.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);

// appeler la méthode API pour ajouter une image d'en-tête dans le PDF
AsposeResponse response = pdfApi.postDocumentImageHeader(sourcePDF, headerObject,startPage, endPage, null, null);

Pour ajouter une image dans la zone de pied de page, créez un objet de classe ImageFooter et appelez la méthode postDocumentImageFooter(…) de la classe pdfApi. Le reste des étapes restera le même que celui expliqué ci-dessus pour l’image dans la section En-tête ci-dessus.

Conclusion

Dans cet article, nous avons décrit les étapes à suivre pour accéder à Aspose.PDF Cloud via les commandes cURL afin d’ajouter du texte et des images dans les zones d’en-tête/pied de page des documents PDF. Nous avons également exploré les étapes à suivre pour installer Aspose.PDF Cloud SDK for Java et l’utiliser en langage Java pour ajouter du texte et des images dans la section d’en-tête ou de pied de page du fichier PDF. Pour plus de détails sur d’autres fonctionnalités intéressantes de l’API, veuillez consulter la documentation produit.

Tous nos SDK Cloud sont OpenSource, donc un code source complet peut être téléchargé depuis GitHub.