ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Comment ouvrir avec le reader un PDF et aller à la page n désirée   



L'auteur

Jean-Michel Jaouen
France France
Membre Simple
# 0000000012
enregistré le 13/10/2004

http://www.utilavoc.com
66 ans
Jean Michel
de la société Id Informatique
Fiche personnelle


Note des membres
pas de note

Contributions > 09 - Automation

Comment ouvrir avec le reader un PDF et aller à la page n désirée
# 0000000068
ajouté le 18/11/2004 15:53:58 et modifié le 18/11/2004
consulté 11661 fois
Niveau initié

Version(s) Foxpro :
VFP 8.0

Description

Une procédure pour ouvrir un fichier PDF et aller directement à la page désirée.

Utile si vous désirez utiliser un doc PDF (manuel d'utilisation ou autre) comme aide dans une appli.

Code source :
******************************
** Ouvrir un pdf avec Acrobat Reader et afficher la page lnpage désirée
** l'objet du reader ne permet pas de le faire par OLE
** on utilise donc DDE
***************************************
* exemple : do pdfpage with "monfichier.pdf","5"
***************************************
* !! ne marche pas dans l'environnemnt de dev mais marche parfaitement
* !! au runtime !! (vfp8 sp1 + XP)
**************************************
PROCEDURE pdfpage
LPARAMETERS lcfich,lcpage && le nom du fichier , la page à atteindre
LOCAL lncanal

SET PROCEDURE TO procedures_util.prg ADDITIVE && doit contenir au - run_acrobat


if file(lcfich)
  lcfich=FULLPATH(lcfich) && nom complet

  DO RUN_ACROBAT WITH lcfich && lance acrobat
  ** run_acrobat lance le reader
  wait "" timeout 2 && tempo
  DDESETOPTION("safety",.F.)
  lncanal=DDEINITIATE("Acroview","control")
  if lncanal=-1 && échec d'ouverture du canal on tente à nouveau
    wait "" timeout 4 && tempo
    lncanal=DDEINITIATE("Acroview","control")
  ENDIF
  IF lncanal#-1
    ddeexecute(lncanal,"[DocOpen(&lcfich)]"&& doc actif
    ddeexecute(lncanal,"[DocGoTo(&lcfich,&lcpage)]"&& aller page
  ELSE
    messagebox("Impossible de trouver Acrobat Reader",58,"Erreur")
  ENDIF

else
  messagebox("Impossible de trouver le fichier",58,"Erreur")
endif
Commentaires
le 28/02/2006, EmanuelL a écrit :
Bonjour J.-M., Peut-on avoir le module RUN_ACROBAT? Merci.

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3