VBA Ajout d'une image en pied de page à un PDF

Bonjour à tous,

quelqu'un peut-il m'aider ???

J'ai un soucis avec le code que j'ai à disposition.

Contexte:
Via une liste de liens PDF dans un fichier Excel, j'intègre dans tous les fichiers de cette liste une image (via le lien indiqué dans une cellule).

Le code fonctionne bien sauf quand il y a un champ dynamique, je n'y accède plus.
En effet, l'image est intégré comme un bouton d'où le fait que je n'accède plus aux champs dynamiques en arrière plan.

Quelqu'un pourrait-il m'aider à trouver la solution pour que j'intègre l'image sans qu'il n'y ait de problème de saisie dans le PDF ?

Public Sub InsertImagePDF()

Dim PDFinputFile As String, PDFoutputFile As String
Dim imageFile As String
Dim AcrobatApp As Acrobat.AcroApp
Dim AcroAVDocInput As Acrobat.AcroAVDoc 'PDF à modifier
Dim AcroPDDocInput As Acrobat.AcroPDDoc 'PDF modifié
Dim jso As Object
Dim pageRect As Variant
Dim pageField As Object
Dim fieldRect(0 To 3) As Double
Dim page As Long
Dim CelImage As String
Dim Cel As Range

CelImage = Range("B1").Value 'Lien vers l'image à intégrer

Range("A3", Range("A3").End(xlDown)).Select 'Liste des liens PDF à modifier

For Each Cel In Range("A3", Range("A3").End(xlDown))
If Cel <> "" Then

    PDFinputFile = Cel
    imageFile = CelImage

    PDFoutputFile = Replace(PDFinputFile, ".pdf", " Modif.pdf")

    Set AcrobatApp = New Acrobat.AcroApp
    Set AcroAVDocInput = New Acrobat.AcroAVDoc

    If AcroAVDocInput.Open(PDFinputFile, "") Then

        Set AcroPDDocInput = AcroAVDocInput.GetPDDoc()

        Set jso = AcroPDDocInput.GetJSObject

        For page = 0 To AcroPDDocInput.GetNumPages() - 1

            'Obtenir les coordonnées des limites de la page - calcul position du bouton
            pageRect = jso.getPageBox("Crop", page)

            'Coordonnées du bouton à ajouter - en haut à gauche (x,y), en bas à droite (x,y)

            'Etirer en haut à gauche
            fieldRect(0) = 30
            'Réduire vers la gauche
            fieldRect(1) = 660
            'Etirer en bas à droite
            fieldRect(2) = 580
            'Haut - Bas
            fieldRect(3) = -590

            'Ajout du bouton avec image
            Set pageField = jso.addField("button" & page + 1, "button", page, fieldRect)
            pageField.buttonImportIcon imageFile
            pageField.buttonPosition = jso.Position.iconOnly
            pageField.ReadOnly = False

        Next

        AcroPDDocInput.save 1, PDFoutputFile
        AcroAVDocInput.Close True
        AcroPDDocInput.Close

'Si besoin, ouverture du PDF modifié
'        If AcroAVDocInput.Open(PDFoutputFile, "") Then
'            AcrobatApp.Show
'        End If

    Else

        MsgBox "Erreur dans le listing des liens PDF."

    End If

    Set AcroPDDocInput = Nothing
    Set AcroAVDocInput = Nothing
    Set AcrobatApp = Nothing

End If

Next Cel

MsgBox "Tous les fichiers PDF ont été modifié !"

End Sub

Bonjour taisen00 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum et notamment :

  • Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).

- Quelques fonctionnalites du forum à connaître

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

En revanche, je verrouille le sujet ici, dites moi en MP quand vous aurez fait votre choix

Merci de votre compréhension,

Cordialement

Rechercher des sujets similaires à "vba ajout image pied page pdf"