Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Comment ouvrir un fichier PDF via PB en consultation
existe-il une DLL pour cela ?
Hors ligne
Voila voila
via internet explorer...
voici le script que j'utilise moi...
en sachant que is_file est une variable d'instance contenant le chemin complet du fichier pdf.
A tester !
/**********************************************************************************************/ /* Nom : uf_open_ie_pdf */ /* But : */ /* Arguments: */ /* Appel : */ /* Remarques: */ /* Histo : SKA */ /**********************************************************************************************/ // ouverture du fichier pdf // via internet explorer // cette méthode évite de connaitre la version de acrobat reader. OLEObject lo_IE, lo_acrobat string ls_tilte integer li_ret setpointer(hourglass!) ls_tilte = char(126) // permet de mettre des tiltes ! // lorsqu'il faudra inserer un tilte, il faudra passer par cette variable // powerbuilder n'accepte pas les ~ en directe ! // on verifie d'abord que adobre acrobat existe sur le poste client lo_acrobat = CREATE OLEObject // Acrobat reader V7 li_ret = lo_acrobat.ConnectToNewObject("AcroPDF.PDF") if li_ret < 0 then lo_acrobat = CREATE OLEObject // Acrobat reader V4 li_ret = lo_acrobat.ConnectToNewObject("PDF.PdfCtrl.1") if li_ret < 0 then lo_acrobat = CREATE OLEObject // Acrobat reader V5 li_ret = lo_acrobat.ConnectToNewObject("PDF.PdfCtrl.5") if li_ret < 0 then lo_acrobat = CREATE OLEObject // Acrobat reader V6 li_ret = lo_acrobat.ConnectToNewObject("PDF.PdfCtrl.6") end if end if end if if isvalid(lo_acrobat) then destroy lo_acrobat end if if li_ret <0 then Messagebox("Information","Impossible de se connecter avec Adobe Acrobat Reader !") return -1 end if // on branche ensuite l'accès à internet explorer lo_IE = CREATE OLEObject li_ret = lo_IE.ConnectToNewObject("InternetExplorer.Application") if li_ret >= 0 then lo_IE.menubar=0 lo_IE.toolbar=0 lo_IE.statusBar=0 lo_IE.navigate(is_file) lo_IE.visible=1 lo_IE.AddressBar=0 lo_IE.FullScreen=0 else Messagebox("Information","Impossible de se connecter avec InternetExplorer !") li_ret = -1 end if if isvalid(lo_IE) then destroy lo_IE end if return li_ret
Hors ligne
Merci Pick Ouik t'es un champion
pour le maillot de foot j'ai un vieux maillot de Monaco mais il est trés grand pour toi ?
Hors ligne
pas grave, il m'interesse !!!!!!!!!!!!!
je le prendssssssssss ! adjugé vendu !
Hors ligne
Bonjour,
Merci de mettre un [RÉSOLU] dans le titre de ton topic s'il a été solutionné.
Merci.
Hors ligne
interessant.
Par contre j'aimerai pouvoir faire presque la même chose mais avec word.
càd ouvrir une lettre type avec publipostage des données que je prend dans une table de ma base.
merci
Hors ligne
ska faouzi a écrit:
interessant.
Par contre j'aimerai pouvoir faire presque la même chose mais avec word.
càd ouvrir une lettre type avec publipostage des données que je prend dans une table de ma base.
merci
salut,
en cherchant bien, tu trouverais ta reponse ici publipostage
Hors ligne
Salut,
j'avais travaillé sur des fusions Word (avec Centura...dsl).
Le principe était le suivant : fichier template Word avec des champs {valeur} que le prg remplissait automatiquement.
Je vais regarder ce soir si je retrouve les sources.
Hors ligne
ah... pick ouic a posté une réponse bien meilleure pendant que je rédigeais la mienne
ben plus la peine de chercher les sources alors ?
Hors ligne
Rien à voir...mais je tenais à remercier chet_92
chet_92 a écrit:
Merci Pick Ouik t'es un champion
pour le maillot de foot j'ai un vieux maillot de Monaco mais il est trés grand pour toi ?
MERCI POUR LE MAILLOT DE FOOTTTTTTTTTTTTTTT !
Hors ligne
Bonjour, et encore Merci Mr Pick, c'est justement ce que j'avais besoin.
Hors ligne
Re,
Peux tu me dire pourquoi tu vérifie d'abord si il y a Acrobat sur le poste avant d'ouvrir le fichier avec IE ?
d'avance
Hors ligne
wazou1812 a écrit:
Re,
Peux tu me dire pourquoi tu vérifie d'abord si il y a Acrobat sur le poste avant d'ouvrir le fichier avec IE ?
d'avance
parce qu'il faut bien acrobat ou un logiciel de ce genre pour pouvoir ouvrir le fichier pdf...
on est passé par cette methode via IE, car IE encapsule acrobat...
la methode d'appel est simplifiée. de plus, c'est juste pour une consultation... donc, pas pour une methode plus poussée. et...les utilisateurs n'ont pas la meme version de acrobat installée sur leur machine !
au pire des cas, tu passes via une ole
ajoute "Adobe Acrobat ActiveX control" OLE control.
et pour charger un fichier : ole_1.object.LoadFile("C:\doc.pdf")
Hors ligne
Pour information ...
With Acrobat 7 the pdf.ocx wasn't included and all our apps were crashing,
so I went to the Web Browser OCX - ole_1.Object.Navigate("c:\test.pdf")
Adobe 7 just came out with two new updates which solved the PB Adobe OCX
issue - at least with my problem.
Truly I don't see a performance difference between the Microsoft route or
the Adobe way - depends I guess on the functionality you need.
You may want to try the Microsoft Web Browser OCX - it has allot more
functions that may suite your needs.
Good Luck!
Hors ligne
Personne n'a reussi sans utiliser IE? Avec une version 7 ou 8 d'acrobat?
merci
Hors ligne