PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → OLE Acrobat
OLE Acrobat
Iniciado por Olivier, 29,mar. 2020 20:14 - 1 respuesta
Miembro registrado
198 mensajes
Publicado el 29,marzo 2020 - 20:14
Bonjour,
Je voudrais modifier les champs d'un fichier PDF déjà existant pour cela j'utilise OLE.
J'arrive à charger le fichier PDF, à récupérer le nombre de champs mais je n'arrive absolument pas à lister les champs et encore moins à modifier le contenu.
J'ai essayé avec la méthode item, getfields, fields... mais je ne trouve pas la syntaxe correcte, çà fait pas mal de temps que j'essaye et la documentation Acrobat n'est pas d'une clarté limpide !
A priori il y a plusieurs façon de faire.

J'ajoute le bout de code qui fonctionne :

PautAcroXApp est un objet OLE dynamique
PautAcroXAVDoc est un objet OLE dynamique
PautAcroXPDDoc est un objet OLE dynamique
oAcroForm est un objet OLE dynamique
ptabOAcroFields est un objet OLE dynamique

PautAcroXApp = allouer un objet OLE "AcroExch.App"
PautAcroXAVDoc = allouer un objet OLE "AcroExch.AVDoc"
PautAcroXPDDoc = allouer un objet OLE "AcroExch.PDDoc"
oAcroForm = allouer un objet OLE "AFormAut.App"

nPDSaveFull est un entier = 0x0001

PautAcroXApp>>Hide

PautAcroXAVDoc>>Open("toto.pdf", "")

ptabOAcroFields = oAcroForm>>Fields

NbreChamps = ptabOAcroFields>>Count


Dans les exemples il y a souvent :

oForm = CreateObject("AFormAut.App")
for each lsFields in oForm.Fields
...

Mais je n'arrive pas à faire le "for each lsFields in oForm.Fields" en Windev.

Quelques à déjà modifier le contenu d'un PDF en OLE ?
Merci...
Olivier

--
Miembro registrado
198 mensajes
Publicado el 30,marzo 2020 - 09:33
Sur internet, il y a des exemples avec GetJSObject, mais impossible de faire fonctionner sous Windev :

jso est un objet OLE dynamique
jso = PautAcroXPDDoc>>GetJSObject
SI jso>>getField("adresse") <> Null ALORS <<<<<< çà retourne Erreur : "N/A"
jso>>getField("adresse")>>Value="test"
FIN


--