Personnaliser les en‑têtes PDF à la fois avec du texte et des graphiques est une exigence courante pour les solutions de reporting basées sur le cloud. Aspose.PDF Cloud SDK for .NET vous permet d’ajouter programmétiquement du texte et une image à l’en‑tête PDF en C# avec des appels d’API simples. Dans ce tutoriel, vous verrez un exemple de code complet, une alternative cURL et des explications étape par étape. À la fin, vous serez capable d’intégrer des en‑têtes de marque sur toutes les pages de vos PDF dans un environnement cloud.

Ajouter du texte et une image à l’en-tête PDF en C# - Exemple de code complet

L’exemple suivant montre comment ajouter du texte et une image à l’en-tête PDF en C# en utilisant Aspose.PDF Cloud SDK for .NET.

using System;
using System.Collections.Generic;
using System.IO;
using Aspose.Pdf.Cloud.Sdk.Api;
using Aspose.Pdf.Cloud.Sdk.Client;
using Aspose.Pdf.Cloud.Sdk.Model;

class Program
{
    static void Main()
    {
        // -------------------------------------------------
        // Configuration – replace with your actual App SID and API Key
        // -------------------------------------------------
        var config = new Configuration
        {
            ApiKey = new Dictionary<string, string> { { "api_key", "YOUR_API_KEY" } },
            Host = "https://api.aspose.cloud"
        };
        var pdfApi = new PdfApi(config);

// -------------------------------------------------
        // File names (local)
        // -------------------------------------------------
        string localPdfPath = "input.pdf";
        string localImagePath = "headerImage.png";
        string outputPdfPath = "output.pdf";

// -------------------------------------------------
        // Upload PDF to Aspose Cloud storage
        // -------------------------------------------------
        using (var pdfStream = File.OpenRead(localPdfPath))
        {
            pdfApi.UploadFile(Path.GetFileName(localPdfPath), pdfStream);
        }

// -------------------------------------------------
        // Upload image to Aspose Cloud storage
        // -------------------------------------------------
        using (var imgStream = File.OpenRead(localImagePath))
        {
            pdfApi.UploadFile(Path.GetFileName(localImagePath), imgStream);
        }

// -------------------------------------------------
        // Build HeaderFooter object with text and image
        // -------------------------------------------------
        var headerFooter = new HeaderFooter
        {
            // Text part
            TextState = new TextState
            {
                Value = "Confidential Document",
                FontSize = 14,
                Font = "Helvetica",
                FontStyle = FontStyles.Bold,
                ForegroundColor = new Color { A = 255, R = 255, G = 0, B = 0 } // Red color
            },
            // Image part
            Image = new Image
            {
                File = Path.GetFileName(localImagePath), // reference uploaded image
                Width = 100,
                Height = 30,
                HorizontalAlignment = HorizontalAlignment.Center,
                Margin = new MarginInfo { Top = 5, Bottom = 5, Left = 5, Right = 5 }
            },
            // Header margin (optional)
            Margin = new MarginInfo { Top = 10, Bottom = 0, Left = 0, Right = 0 }
        };

// -------------------------------------------------
        // Apply header to all pages of the PDF
        // -------------------------------------------------
        pdfApi.PutHeaderFooter(Path.GetFileName(localPdfPath), headerFooter);

// -------------------------------------------------
        // Download the updated PDF
        // -------------------------------------------------
        using (var resultStream = pdfApi.GetDocument(Path.GetFileName(localPdfPath)))
        using (var fileStream = File.Create(outputPdfPath))
        {
            resultStream.CopyTo(fileStream);
        }

// -------------------------------------------------
        // Optional: clean up uploaded files from cloud storage
        // -------------------------------------------------
        pdfApi.DeleteFile(Path.GetFileName(localPdfPath));
        pdfApi.DeleteFile(Path.GetFileName(localImagePath));
    }
}

Remarque : Cet exemple de code démontre la fonctionnalité de base. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Insérer du texte et une image dans l’en-tête PDF Cloud avec cURL

Vous pouvez effectuer la même opération en utilisant l’API REST. Ci‑dessous les commandes cURL essentielles.

# 1. Obtain an access token (replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET)
curl -X POST "https://api.aspose.cloud/connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
# 2. Upload the source PDF
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/storage/file/input.pdf" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/pdf" \
  --data-binary "@input.pdf"
# 3. Upload the header image (PNG)
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/storage/file/headerImage.png" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: image/png" \
  --data-binary "@headerImage.png"
# 4. Apply header with text and image
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/input.pdf/headerfooter" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "TextState": {
            "Value": "Confidential Document",
            "FontSize": 14,
            "Font": "Helvetica",
            "FontStyle": "Bold",
            "ForegroundColor": { "A":255,"R":255,"G":0,"B":0 }
        },
        "Image": {
            "File": "headerImage.png",
            "Width": 100,
            "Height": 30,
            "HorizontalAlignment": "Center",
            "Margin": { "Top":5,"Bottom":5,"Left":5,"Right":5 }
        },
        "Margin": { "Top":10,"Bottom":0,"Left":0,"Right":0 }
      }'
# 5. Download the updated PDF
curl -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o output.pdf
<!--CODE_SNIPPET_END]-->

Pour plus de détails sur chaque point de terminaison, consultez la [documentation officielle de l'API](https://reference.aspose.cloud/pdf/).

## Décomposition de l'ajout de texte à l'en-tête PDF en C#

Comprendre comment le code ajoute du texte et une image à l'en-tête PDF en C# vous aide à l'adapter à d'autres scénarios. Voici un aperçu concis :

1. **Configuration** – L'objet `Configuration` stocke votre clé API et l'URL de l'hôte.  
   <!--CODE_SNIPPET_START-->
   ```csharp
   var [config](https://docs.fileformat.com/programming/config/) = new Configuration
   {
       ApiKey = new Dictionary<string, string> { { "api_key", "YOUR_API_KEY" } },
       Host = "https://api.aspose.cloud"
   };
  1. Téléchargement des fichiersUploadFile envoie le PDF local et l’image vers le stockage Aspose Cloud.

    pdfApi.UploadFile(Path.GetFileName(localPdfPath), pdfStream);
    pdfApi.UploadFile(Path.GetFileName(localImagePath), imgStream);
    
  2. Création de HeaderFooter – Le modèle HeaderFooter combine un TextState pour le texte et un objet Image pour l’image.

    var headerFooter = new HeaderFooter
    {
        TextState = new TextState { Value = "Confidential Document", FontSize = 14, Font = "Helvetica", FontStyle = FontStyles.Bold, ForegroundColor = new Color { A = 255, R = 255, G = 0, B = 0 } },
        Image = new Image { File = Path.GetFileName(localImagePath), Width = 100, Height = 30, HorizontalAlignment = HorizontalAlignment.Center }
    };
    
  3. Application de l’en-têtePutHeaderFooter attache l’en-tête à chaque page du PDF spécifié.

    pdfApi.PutHeaderFooter(Path.GetFileName(localPdfPath), headerFooter);
    
  4. Téléchargement et nettoyageGetDocument récupère le PDF modifié, et DeleteFile supprime les fichiers temporaires du stockage cloud.

    var resultStream = pdfApi.GetDocument(Path.GetFileName(localPdfPath));
    pdfApi.DeleteFile(Path.GetFileName(localPdfPath));
    pdfApi.DeleteFile(Path.GetFileName(localImagePath));
    

Pour approfondir la classe HeaderFooter, consultez la référence de l’API.

Installation et configuration d’Aspose.PDF Cloud SDK pour .NET

  1. Add the NuGet package
   dotnet add package Aspose.PDF-Cloud
  1. Télécharger les binaires du SDK – Vous pouvez également obtenir la dernière version depuis la page de téléchargement officielle : Aspose.PDF Cloud SDK for .NET Download.

  2. Prérequis – .NET 6.0 ou ultérieur, un compte Aspose Cloud et des identifiants client valides (App SID et clé API).

  3. Initialiser le client – Utilisez le même code de configuration présenté dans l’exemple complet pour vous connecter au service cloud.

Une fois le SDK installé et les identifiants prêts, vous pouvez immédiatement ajouter du texte et une image à l’en-tête PDF en C#.

Conclusion

L’ajout de texte et d’image à l’en-tête PDF en C# devient simple lorsque vous exploitez la puissance du Aspose.PDF Cloud SDK for .NET. La bibliothèque gère le téléchargement des fichiers, la construction de l’en-tête et la récupération du document avec seulement quelques appels d’API, ce qui la rend idéale pour les pipelines de traitement PDF basés sur le cloud. N’oubliez pas de sécuriser votre clé API, de respecter les limites d’utilisation et de tester la mise en page de l’en-tête avec différentes tailles de page pour éviter les débordements. Pour les déploiements en production, une licence commerciale est requise ; les détails de tarification sont disponibles sur la page produit et vous pouvez obtenir une licence temporaire d’évaluation depuis la page de licence temporaire. Commencez à intégrer des en-têtes personnalisés dès aujourd’hui et donnez à vos PDF un aspect professionnel.

FAQ

  • Comment ajouter du texte et une image à l’en-tête PDF en C# en utilisant la bibliothèque cloud ?
    Utilisez le modèle HeaderFooter pour définir TextState et Image, puis appelez PutHeaderFooter. L’exemple complet de code dans cet article montre les étapes exactes.

  • Puis-je insérer du texte et une image à l’en-tête PDF dans le cloud sans écrire de code C# ?
    Oui, la même opération peut être réalisée avec des appels REST. La section cURL fournit un script prêt à l’emploi qui télécharge les fichiers et applique l’en-tête.

  • Quels formats d’image sont pris en charge pour l’en-tête ?
    L’API accepte les formats courants tels que PNG et JPEG. Gardez des dimensions d’image raisonnables (par ex., 100 x 30) pour qu’elles tiennent dans la marge de l’en-tête.

  • Ai-je besoin d’une licence pour exécuter cela en production ?
    Une licence commerciale est requise pour une utilisation en production. Consultez la page produit pour les tarifs et utilisez la page de licence temporaire pour évaluer le SDK avant d’acheter.

Lire la suite