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

Aspose.PDF pour C++ vous permet d’ajouter un en-tête et un pied de page dans votre fichier PDF existant. Vous pouvez ajouter des images ou du texte à un document PDF. Essayez également d’ajouter différents en-têtes dans un fichier PDF avec C++.

Ajout de texte dans l’en-tête du fichier PDF

Vous pouvez utiliser la classe TextStamp pour ajouter du texte dans l’en-tête d’un fichier PDF. TextStamp class fournit les propriétés nécessaires pour créer un tampon basé sur du texte comme la taille de la police, le style de la police, et la couleur de la police, etc. Pour ajouter du texte dans l’en-tête, vous devez créer un objet Document et un objet TextStamp en utilisant les propriétés requises. Après cela, vous pouvez appeler la méthode AddStamp de la Page pour ajouter le texte dans l’en-tête du PDF.

Vous devez définir la propriété TopMargin de manière à ajuster le texte dans la zone d’en-tête de votre PDF. Vous devez également définir HorizontalAlignment sur Center et VerticalAlignment sur Top.

Le code suivant vous montre comment ajouter du texte dans l’en-tête d’un fichier PDF avec C++.

void AddingTextInHeaderOfPdfFile() {
    String _dataDir("C:\\Samples\\");
    String inputFileName("TextinHeader.pdf");
    String outputFileName("TextinHeader_out.pdf");

    // Open document
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Create header
    auto textStamp = MakeObject<TextStamp>(u"Header Text");

    // Set properties of the stamp
    textStamp->set_TopMargin(10);
    textStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    textStamp->set_VerticalAlignment(VerticalAlignment::Top);

    // Add header on all pages
    for(auto page : document->get_Pages())
    {
        page->AddStamp(textStamp);
    }

    // Save updated document
    document->Save(_dataDir + outputFileName);
}

Ajout de texte dans le pied de page d’un fichier PDF

Vous pouvez utiliser la classe TextStamp pour ajouter du texte dans le pied de page d’un fichier PDF. La classe TextStamp fournit les propriétés nécessaires pour créer un tampon basé sur du texte, comme la taille de la police, le style de la police et la couleur de la police, etc. Afin d’ajouter du texte dans le pied de page, vous devez créer un objet Document et un objet TextStamp en utilisant les propriétés requises. Ensuite, vous pouvez appeler la méthode AddStamp de la Page pour ajouter le texte dans le pied de page du PDF.

L’extrait de code suivant vous montre comment ajouter du texte dans le pied de page d’un fichier PDF avec C++.

void AddingTextInFooterOfPdfFile() {
    String _dataDir("C:\\Samples\\");
    String inputFileName("TextinFooter.pdf");
    String outputFileName("TextinFooter_out.pdf");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Créer le pied de page
    auto textStamp = MakeObject<TextStamp>(u"Footer Text");

    // Définir les propriétés du tampon
    textStamp->set_BottomMargin(10);
    textStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    textStamp->set_VerticalAlignment(VerticalAlignment::Bottom);

    // Ajouter le pied de page sur toutes les pages
    for (auto page : document->get_Pages())
    {
        page->AddStamp(textStamp);
    }

    // Enregistrer le document mis à jour
    document->Save(_dataDir + outputFileName);
}

Ajout d’une image dans l’en-tête d’un fichier PDF

Vous pouvez utiliser la classe ImageStamp pour ajouter une image dans l’en-tête d’un fichier PDF. La classe Image Stamp fournit les propriétés nécessaires pour créer un tampon basé sur une image comme la taille de la police, le style de la police et la couleur de la police, etc. Pour ajouter une image dans l’en-tête, vous devez créer un objet Document et un objet Image Stamp en utilisant les propriétés requises. Après cela, vous pouvez appeler la méthode AddStamp de la Page pour ajouter l’image dans l’en-tête du PDF.

Le code suivant vous montre comment ajouter une image dans l’en-tête d’un fichier PDF avec C++.

void AddingImageInHeaderOfPdfFile() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("ImageinHeader.pdf");
    String outputFileName("ImageinHeader_out.pdf");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Créer l'en-tête
    auto imageStamp = MakeObject<ImageStamp>(_dataDir + u"aspose-logo.jpg");

    // Définir les propriétés du tampon
    imageStamp->set_TopMargin(10);
    imageStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    imageStamp->set_VerticalAlignment (VerticalAlignment::Top);

    // Ajouter l'en-tête sur toutes les pages
    for(auto page : document->get_Pages())
    {
        page->AddStamp(imageStamp);
    }

    // Enregistrer le document mis à jour
    document->Save(_dataDir + outputFileName);
}

Ajouter une Image dans le Pied de Page d’un Fichier PDF

Vous pouvez utiliser la classe Image Stamp pour ajouter une image dans le pied de page d’un fichier PDF. La classe Image Stamp fournit les propriétés nécessaires pour créer un tampon basé sur une image comme la taille de la police, le style de la police et la couleur de la police, etc. Pour ajouter une image dans le pied de page, vous devez créer un objet Document et un objet Image Stamp en utilisant les propriétés requises. Après cela, vous pouvez appeler la méthode AddStamp de la Page pour ajouter l’image dans le pied de page du PDF.

Vous devez définir la propriété BottomMargin de manière à ajuster l’image dans la zone de pied de page de votre PDF. Vous devez également définir HorizontalAlignment sur Center et VerticalAlignment sur Bottom.

Le fragment de code suivant vous montre comment ajouter une image dans le pied de page d’un fichier PDF avec C++.

void AddingImageInFooterOfPdfFile() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("ImageinFooter.pdf");
    String outputFileName("ImageinFooter_out.pdf");

    // Ouvrir le document
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Créer un en-tête
    auto imageStamp = MakeObject<ImageStamp>(_dataDir + u"aspose-logo.jpg");

    // Définir les propriétés du tampon
    imageStamp->set_TopMargin(10);
    imageStamp->set_HorizontalAlignment(HorizontalAlignment::Center);
    imageStamp->set_VerticalAlignment(VerticalAlignment::Top);

    // Ajouter un en-tête sur toutes les pages
    for (auto page : document->get_Pages())
    {
        page->AddStamp(imageStamp);
    }

    // Enregistrer le document mis à jour
    document->Save(_dataDir + outputFileName);
}

Ajouter différents en-têtes dans un fichier PDF

Nous savons que nous pouvons ajouter un TextStamp dans la section En-tête/Pied de page du document en utilisant les propriétés de marge supérieure ou inférieure, mais parfois nous pouvons avoir le besoin d’ajouter plusieurs en-têtes/pieds de page dans un seul document PDF. Aspose.PDF for C++ explique comment faire cela.

Afin de répondre à cette exigence, nous allons créer des objets TextStamp individuels (le nombre d’objets dépend du nombre d’en-têtes/pieds de page requis) et les ajouterons au document PDF. Nous pouvons également spécifier différentes informations de formatage pour chaque objet de tampon. Dans l’exemple suivant, nous avons créé un objet Document et trois objets TextStamp, puis nous avons utilisé la méthode AddStamp de la Page pour ajouter le texte dans la section d’en-tête du PDF. L’extrait de code suivant vous montre comment ajouter une image dans le pied de page d’un fichier PDF avec Aspose.PDF pour C++.

void AddingDifferentHeadersInOnePDFFile()
{
    String _dataDir("C:\\Samples\\");
    String inputFileName("multiheader.pdf");
    String outputFileName("multiheader_out.pdf");

    // Ouvrir le document source
    auto document = MakeObject<Document>(_dataDir + inputFileName);

    // Créer trois tampons
    auto stamp1 = MakeObject<TextStamp>("Header 1");
    auto stamp2 = MakeObject<TextStamp>("Header 2");
    auto stamp3 = MakeObject<TextStamp>("Header 3");

    // Définir l'alignement du tampon (placer le tampon en haut de la page, centré horizontalement)
    stamp1->set_VerticalAlignment(VerticalAlignment::Top);
    stamp1->set_HorizontalAlignment(HorizontalAlignment::Center);
    // Spécifier le style de police comme Gras
    stamp1->get_TextState()->set_FontStyle(FontStyles::Bold);
    // Définir la couleur de premier plan du texte comme rouge
    stamp1->get_TextState()->set_ForegroundColor(Color::get_Red());
    // Spécifier la taille de police comme 14
    stamp1->get_TextState()->set_FontSize(14);

    // Maintenant, nous devons définir l'alignement vertical du deuxième objet tampon comme Haut
    stamp2->set_VerticalAlignment(VerticalAlignment::Top);
    // Définir les informations d'alignement horizontal pour le tampon comme centré
    stamp2->set_HorizontalAlignment (HorizontalAlignment::Center);
    // Définir le facteur de zoom pour l'objet tampon
    stamp2->set_Zoom(10);

    // Définir le formatage du troisième objet tampon
    // Spécifier les informations d'alignement vertical pour l'objet tampon comme HAUT
    stamp3->set_VerticalAlignment(VerticalAlignment::Top);
    // Définir les informations d'alignement horizontal pour l'objet tampon comme centré
    stamp3->set_HorizontalAlignment(HorizontalAlignment::Center);
    // Définir l'angle de rotation pour l'objet tampon
    stamp3->set_RotateAngle(35);
    // Définir la couleur de fond rose pour le tampon
    stamp3->get_TextState()->set_BackgroundColor(Color::get_Pink());
    // Changer les informations de police pour le tampon en Verdana
    stamp3->get_TextState()->set_Font(FontRepository::FindFont(u"Verdana"));

    // Le premier tampon est ajouté sur la première page ;
    document->get_Pages()->idx_get(1)->AddStamp(stamp1);
    // Le deuxième tampon est ajouté sur la deuxième page ;
    document->get_Pages()->idx_get(2)->AddStamp(stamp2);
    // Le troisième tampon est ajouté sur la troisième page.
    document->get_Pages()->idx_get(3)->AddStamp(stamp3);

    // Enregistrer le document mis à jour
    document->Save(_dataDir + outputFileName);
}