Inscrivez-vous

abracadabraPDF Forum

Le seul forum francophone entièrement dédié au format PDF

bebarth

22 novembre 2007 : 13:18
Grand magicien Messages: 712
Bonjour,
j'utilise acrobat depuis plusieurs années, mais je suis débutant en javascript.

j'ai une catalogue (pdf) de 1500 pages disponible en 3 langues et je voudrais faire un bouton (par page) qui permette d'ouvrir à partir d'une langue, un autre fichier pdf de ce catalogue dans une autre langue, à la même page que celui d'origine.
J'ai fait un petit script, mais j'arrive toujours à la première page du second document:

var pgnum = this.pageNum;
var otherDoc = app.openDoc("ENGLISH.pdf", this);
otherDoc.pageNum=pgnum;

j'ai fait plein d'autres essais, mais sans succès !

y-a-t'il une solution ?

Merci d'avance.

  • Grand magicien
  • Messages: 7 286
Est-ce que ce sont 1500 pages identiques ? Et avec quel logiciel sont-elles composées ?

Si la 1re réponse est oui et en fonction de la 2e il serait possible d'envisager une navigation par calques. C'est-à-dire de créer un PDF multicalques (utilisable avec Reader ou Acrobat version 6 ou ultérieure), chaque calque contenant une langue différente il devient très facile de naviguer entre les versions linguistiques (puisque sans changement de page).

Autres avantages : gestion des mises à jour facilitées, pas d'utilisation de JavaScript (qui est parfois désactivé).

Je vais regarder le JavaScript utilisé de plus près, dès fois que les réponses aux questions ci-dessus le rendent indispensable...

 ;)

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
ce sont 3 catalogues strictement identiques, mais en 3 langues différentes (Anglais, Français et Allemand).
Ils ont été créés sous QuarkXPress 6 (mac).

Le but est de faire un CD-ROM contant ces 3 versions. Les années précédentes, je faisais un bouton au début de chaque chapitre qui renvoie un une page bien définie (il y avait une vingtaine de boutons donc pas trop difficile à faire) mais cette année je voudrais faire un bouton sur toutes les pages (pour 1500 pages c'est plus long...).

Merci!
« Modifié: 22 novembre 2007 : 17:03 par Lionel »

  • Grand magicien
  • Messages: 7 286
Je pense que le script est bon sur le fond mais il faudrait que tu fasse appel à une variable globale, et non pas à une variable simple qui n'est pas censée passer d'un document à l'autre.

Je te conseille de télécharger ce doc, c'est la bible du JavaScript sur Acrobat :

--> http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJS.pdf

 ;)

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Merci Merlin,
je pense que j'ai compris et te dirai demain si ça fonctionne.
j'avais déjà ce doc, et c'est grace à lui que j'ai pu écrire mon script.
@+ dans une autre question.
merci encore
 :o

  • Grand magicien
  • Messages: 7 286
Citer
je pense que j'ai compris et te dirai demain si ça fonctionne.

Nous sommes tous curieux...

 ;)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Pour l'instant je ne m'en sort pas avec les variables globales!
J'ai même essayé l'exemple donné page 443 du document Acrobat JavaScript Scripting Reference, et ça ne fonctionne pas!!! j'ai pourtant juste fais copier/coller...
si quelqu'un a une idée ou s'il sait utiliser les variables globales.
Merci
 ???

  • Grand magicien
  • Messages: 7 286
Il faudrait que tu précises quel est le script de la page 443, parce qu'apparemment on n'utilise pas la même version de ce doc !

 :)

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Bonjour Merlin,
la doc que j'ai est du 29, septembre 2005 (Adobe Acrobat 7.0.5)

voici le script, peeux-tu voir si ça fonctionne de ton côté :

Example
In this example, there are two files, setRadius.pdf and calcVolume.pdf, open in Acrobat or Adobe Reader:
?setRadius.pdf has a single button with the code
global.radius = 2;
?calcVolume.pdf has a document-level JavaScript named subscribe:
// In the Advanced > JavaScripts > Document JavaScripts
global.subscribe("radius", RadiusChanged);
function RadiusChanged(x)// callback function
{
var V = (4/3) * Math.PI * Math.pow(x,3);
this.getField("MyVolume").value = V;// put value in text field
}
?With both files open, clicking on the button in setRadius.pdf immediately gives an update in the text field “MyVolume” in calcVolume.pdf of 33.51032 (as determined by global.radius = 2.

Merci
 ???


  • Grand magicien
  • Messages: 7 286
C'est bien celui que j'ai vu mais je croyais que tu avais trouvé un exemple plus précis.

Si tu peux me communiquer le script que tu en tiré (celui que tu as essayé) ça me fera gagner du temps, mais malheureusement je n'aurais pas vraiment de temps a y consacrer avant jeudi prochain...

 ;)

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Bonjour Merlin,
je t'enverrai le script dès lundi, et ferai d'autre essai en attendant jeudi...
comme je ne suis pas un expert en javascript, pourrais-tu m'indiquer ou je pourrais trouver un documents avec toutes les fonctions avec leurs attributs.
merci d'avance
 ???

  • Grand magicien
  • Messages: 7 286

  • Grand magicien
  • Messages: 712
Merci, je vais y jter un oeil ce weekend!
bon weekend.
 :-*

  • Grand magicien
  • Messages: 712
Bonjour Merlin,
Voici le script que j'ai écris :

global.pgnm = this.pageNum;
getField("monChamp").value=global.pgnm;
var otherDoc = app.openDoc("ENGLISH.pdf", this);
otherDoc.pageNum = global.pgnm;
otherDoc.getField("monChamp").value=global.pgnm;

comme tu peux le voir, j'ai rappelé 2 fois la variable globale (une fois sur chaque document). Elle est bien conservée dans le document d'origine, mais elle est perdue dans le document ouvert (ENGLISH.pdf)...

je continue à chercher mais je n'ai pas beaucoup de nouvelles idée aujourd'hui.

Merci & @+
 :o

  • Grand magicien
  • Messages: 7 286
Je crois que j'ai idée sur ce qui ne va pas, je te tiens au courant dès que j'ai un peu de temps...
 ;)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712

  • Grand magicien
  • Messages: 7 286
global.pgnm = this.pageNum;
this.getField("monChamp").value=global.pgnm;
var otherDoc = app.openDoc("ENGLISH.pdf", this);
otherDoc.pageNum = global.pgnm;
otherDoc.getField("monChamp").value=global.pgnm;


Bonne nouvelle ! Ce script fonctionne très bien, aussi bien pour l'ouverture sur la bonne page que pour le remplissage du champ témoin. En fait c'est ton script auquel j'ai rajouté "this." au début de la 2e ligne.

Cependant mon idée était bonne et ce n'est pas seulement ça qui fait que ça fonctionne ou non, en fait il faut ajouter une ligne de script au doc cible pour déverrouiller la propriété Disclosed qui par défaut empêche tout transfert d'info d'un doc à l'autre.
Cette propriété à un fonctionnement spécial car, le mieux étant l'ennemi du bien, Adobe a commis une grosse bourde lors de son intégration dans la version 5.0.5 d'Acrobat.
Je te conseille d'examiner la doc (AcroJS.pdf) pour en savoir plus.

Donc il te faut placer en script de document (menu Options avancées > Traitement du doc > Scripts JavaScripts) de chaque document cible le script suivant :

this.disclosed = true;
On peux aussi placer ce script en "script d'ouverture de page" quand on sait à l'avance sur quelle page le doc doit s'ouvrir mais ici ce n'est pas le cas, justement.

;)

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Bravo et merci Merlin!
Je n'aurais jamais trouvé ça tout seul. Ça marche parfaitement.
 :D

  • Grand magicien
  • Messages: 7 286
 8) ;)
Acrobate du PDF, InDesigner et Photoshopographe

  • Magicien
  • Messages: 53
Bonjour,
Il existe une autre solution que celle qui passe par les valeurs globale c'est l'expression suivante :
depuis le catalogue Français pour ouvrir l'Anglais
var d = app.openDoc("CatalogueAnglais.pdf",this); closeDoc(true);d.pageNum = this.pageNum;

On envoie le numéro de page à la fin de l'expression.


  • Grand magicien
  • Messages: 712
Bonjour,
Merci pour cette autre solution, mais celle-ci necessite apparemment de fermer le premier document, alors que celle de Merlin permet de naviguer entre les deux.
C'est quand même bien de la savoir.
 ::)

  • Grand magicien
  • Messages: 7 286
Un petit script à l'ouverture (et à la fermeture pour rétablir) permet de prendre le contrôle de certaines préférences d'affichage, dont le choix d'ouvrir le lien dans une même fenêtre ou une autre fenêtre.

Dans le 1er cas l'utilisateur revient sur le doc de départ via le bouton retour (vue précédente).

Pour le contrôle des Préférences d'affichage voir les fichiers de démo des diaporamas (Aubade & Pins de Salzmann), fonctions qui sont documentées dans les AbracadabraScripts :

--> http://abracadabrapdf.net/articles.php?lng=fr&pg=133

--> http://abracadabrapdf.net/articles.php?lng=fr&pg=124

 :)


Acrobate du PDF, InDesigner et Photoshopographe

  • Magicien
  • Messages: 53
Juste une petite précision, j'utilise "closeDoc(true);" uniquement pour éviter que l'utilisateur de mes fichiers PDF n'en ai trop d'ouvert sur son poste, ceux-ci étant essentiellement constitués de plans et sont de ce fait assez gros (de 500k à 28 Mb!).  ;)
Dans mes fonctions de navigation j'utilise aussi la valeur "this.viewState". Celle-ci est un objet regroupant entre autre : le n° de la page, le % de zoom ainsi que la position de la fenêtre.
En transférant cette valeur à un autre document ayant la même structure, on peut faire apparaître à l'utilisateur la même portion de page, ce qui dans le problème posé pour des documents identiques dans différentes langues pourrait être intéressant.
 8)

  • Grand magicien
  • Messages: 712
Super "this.viewState" !!!
Chacun de mes catalogue pèse environ 90 Mo. Je me demande encore si je dois ne garder qu'un seul fichier ouvert ou si je les conserve tous ouverts.
Si je ne garde qu'un seul fichier ouvert, quel est l'avantage d'ouvrir dans la même fenêtre???
Merci
 ::)

  • Magicien
  • Messages: 53
Je vais faire la réponse du berger à la bergère : pourquoi ouvrir dans des fenêtres différentes ?
Dans beaucoup d'entreprises, la capacité mémoire des machines mises à disposition des employés est du genre config de base, c'est à dire stricte minimum pour que ça tourne sans problème majeur. Le fait de laisser des documents aussi gros en mémoire peut aller jusqu'à la "plantée" du système, chose que je ne veux pas. ;)
Ce qui suit n'a rien à voir avec la question de base : >:(
Les responsables informatiques pensent toujours que ce qu'ils font c'est ce qu'il y a de meilleur. Je suis effaré de constater que le simple fait de demander une mise à jour du Reader, qui jusqu'à preuve du contraire, est gratuit, pose problème auprès des informatiens (ou de société de services qui s'occupe de l'informatique d'un client). Certaines fonctions java ne sont pas actives dans la version 7.0.3, mais elles le sont dans les versions suivantes du 7, je rencontre souvent des versions 7.0.0, où c'est tout le java qui n'est pas enclenché. Ne parlons pas du 8, c'est pire, ils y en a qui ne savent même pas que cette version existe.
Bonne journée  8)

  • Grand magicien
  • Messages: 712
sur le cd, il y aura acrobat 8 executable ! c'est ce que je faisais less autres années, plus des liens pour télécharger les différentes versions selon la plateforme.
 :o

  • Magicien
  • Messages: 53
 :D Bien, si ça marche pour vous, dans les grandes boîtes, les machines sont bloquées  >:(

  • Grand magicien
  • Messages: 7 286
Moi je fais du tout compatible version 5 et +, avec un minimum de JavaScripts, comme ça je ne suis pas embêté et ça fonctionne à peu près partout...
(sauf besoin ou spécification particulière, par exemple le multimédia "sérieux" réclame du version 6 et +).

 :)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Dans ma boite, les pc sont aussi bloqués, et pour les mises à jours d'acrobat, il suffit de demander. Moi je travaille sur mac, aussi comme personne n'y connait rien, je demande (pour l'achat) et je me débrouille tout seul. C'est le deal avec le service informatique (et je préfère comme ça).
Comme Acrobat s'execute automatiquement avec le CD, les catalogues sont lancés automatiquement avec la version gravée sur le CD (avec autorisation d'adobe bien sur).
Comment peut-on savoir si tout est compatible version 6 et + ????
y-a-t-il des javascripts à éviter ???
Merci
 ???

  • Grand magicien
  • Messages: 7 286
Dans AcroJS.pdf la compatibilité de toutes les fonctions est listée dans le cadre qui est à gauche du nom, sinon il faut tester...

C'est pour ça que je garde des versions 5 dans un coin.

  ;)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
le problème, c'est que je ne pense plus avoir de machine ou tourne la version 5 (OS9 je crois?)
 >:(

  • Grand magicien
  • Messages: 7 286
La version 5 fonctionne sur Mac OS X.4, sur Classic, et sur Mac OS 9.1.

C'est la seule version d'Acrobat et de Reader qui fonctionne sur les deux systèmes Mac, je crois qu'elle fonctionne aussi sur Windows XP mais avec Windows il est fortement déconseillé par Adobe d'avoir plusieurs versions sur un même système. Il faut des machines virtuelles.

 :)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Je reviens sur mon problème d'ouverture de fichiers à une même page, car alors je pensais que tout fonctionnait bien, en fait tout fonctionne comme je le désir avec Acrobat, mais pas avec le reader.
Si j'ouvre le second fichier dans une autre fenêtre, cela fonctionne, mais si je l'ouvre dans la même fenêtre, j'atterris à la première page du document. Après réflexion, j'aurais préféré ouvrir dans la même fenêtre, cela permet de pouvoir utiliser les boutons vue précédente et vue suivante.
J'ai essayé de placer un app.openInPlace en script de document, mais rien à faire, le second fichier s'ouvre dans une autre fenêtre.
Le Reader ne fonctionne-t-il pas comme Acrobat???
merci
 :???:

  • Grand magicien
  • Messages: 7 286
Citer
J'ai essayé de placer un app.openInPlace en script de document, mais rien à faire,
As tu vérifié si cela fait partie des Trusted funtions ?

Citer
Le Reader ne fonctionne-t-il pas comme Acrobat???
Quelle version de Reader ?


 :contentdance: :contentdance: :contentdance:
(j'en profite pour saluer le retour de mon smiley préféré  :extra:   )

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
dans la doc js_api_reference j'ai trouvé :

The following methods, if run from a document-level script, no longer affect the user preferences:
...
?app.openInPlace
These methods still affect user preferences if run from an application-level script.

j'ai donc essayé de placer app.openInPlace dans un fichier .js mais sans résultat.
du coup, j'ai fait un mixte de scripts que proposait cdiautomation :

var d = app.openDoc("FRANCAIS.pdf",this);
global.vue = this.viewState;
closeDoc(true);
d.viewState = global.vue;

et cela fonctionne et me convient. Le seul "inconvénient" que j'ai remarqué, c'est que si je navigue dans un document, puis dans un autre, l'historique reste sur le dernier document ouvert (bouton vue précédente) et je revient donc à des pages que j'avais ouvertes dans une autre langue (j'espère être clair).

Ce problème de changement le fichier à une page bien défini étant simple (pour une seule page pas pour 1400) avec l'action : définir une vue de page proposée par Adobe, je me demandais s'il était possible de récupérer ces scripts prédéfinis (s'ils sont en javascript)???

 :mur:


  • Grand magicien
  • Messages: 7 286
Je pense qu'il te faut utiliser app.openInPlace exactement de la même façon que sont utilisés les paramètres des Préfs Plein écran sur la page 1 d'AbracadabraScripts.

C'est-à-dire avec les variables globales, et éventuel rétablissement des préfs de l'utilisateur à la fermeture du doc.

 :idee: ;)

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
c'est ce que je pense avoir fait !!!
 :mur:

  • Grand magicien
  • Messages: 7 286
En effet...
 :doute:

Mais c'est typiquement le genre de fonctions avec lesquelles Adobe fait ce qu'il veut et qui changent de comportement sans prévenir, avec aussi parfois des différences entre Acrobat et Reader (ou même entre Reader Mac et Reader Windows, c'est du vécu).

Comme trop souvent, le fait de ne pas avoir avoir suffisamment étudié la globalité du problème en amont fait que maintenant tu dois te faire ch..r à trouver des solutions de type rustines alors qu'il aurait été plus simple de faire autrement. En utilisant les calques, par exemple...
 ;)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 7 286
Citer
je me demandais s'il était possible de récupérer ces scripts prédéfinis (s'ils sont en javascript)???

Non, ce sont des appels directs au code de l'application.
 :indecis: :(
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Je ne pense pas que les calques soient possibles pour moi, car les différentes versions sont faites simultanément en France et aux US via une base de données et un logiciel STEP (http://ebusiness.info/guide.php3?societe=10561) qui permet de remonter ces données dans XPress. Il y a donc 1 fichier par langue.
1 fichier pèse déja environ 60 Mo (avec une résolution d'image à 72 dpi), alors les 3 en un seul fichier j'imagine (même si la quadri serai sur un calque et les différentes langues sur les autres).
 :geek:

  • Grand magicien
  • Messages: 7 286
Si tu as les 3 PDF (et s'ils sont quasiment identiques), tu peux créer un PDF multicalques avec InDesign.

 :)
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 571
Je pense qu'il faut autoriser la manipulation (l'ouverture) du fichier cible par le script du fichier père. Pour cela on aura  recours à la propriété disclosed du document cible. Cela évite de passer un script de haut niveau.
Alex Noesser
Un zeste de JavaScript dans votre PDF

  • Grand magicien
  • Messages: 712
Alors que tout ce passait bien sur le ce de l'année dernière, cette année j'ai un problème avec exactement le même script.
Le bouton fonctionne bien uniquement la première fois (EN->FR ou FR->EN) puis le bouton ouvre le fichier dans une autre fenêtre et à la première page (perte des variables ????).
D'où pourrait venir ce problème, sachant que je n'ai pas compris le dernier post d'Alex...
Merci !
 :mur:

  • Grand magicien
  • Messages: 7 286
Je pense que tu dois faire partie des victimes du passage MDI vers SDI :
http://www.abracadabrapdf.net/forum/index.php?topic=1109

 :Euuuh:
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
J'ai lu vite fait et pensé qu'il suffisait de supprimer openInPlace, mais apparemment ça ne suffit pas. La variable de page est perdue.
 :Euuuh:

  • Grand magicien
  • Messages: 7 286
Ben euh...

Peut on voir ce script ?
Parce que j'avoue que depuis le temps, je l'ai un peu perdu de vue.
 :joker:
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
en script de bouton, c'est :

var d = app.openDoc("01-Make_F.pdf",this);
global.vue = this.viewState;
closeDoc(true);
d.viewState = global.vue;

en script d'ouverture il y avait :

app.openInPlace = true;

que j'avais rajouter pour que les vues précédentes fonctionnent sur plusieurs documents. Mais apparemment cela ne sert plus à rien puisque cela ne fonctionne plus.

Ne pourrait-on pas fermer la fenêtre du fichier original une fois que l'on est à la bonne page du fichier cible ?

 :Euuuh:

  • Grand magicien
  • Messages: 7 286
J'ai trouvé ça dans la doc :

Citer
closeDoc :

Closes the document.
For Adobe Reader 5.1 or later, the method is always allowed:
?If the document was changed and no Document Save Rights S are available, the document is closed without any warnings and changes are lost.
?If Document Save Rights are available, the user has the option of saving the changed file.
It is important to use this method carefully, because it is an abrupt change in the document state that can affect any JavaScript executing after the close. Triggering this method from a Page event or Document event could cause the application to behave strangely.
In versions of Acrobat earlier than 7.0, a document that closes itself by executing this.closeDoc terminates any script that follows it. In Acrobat 7.0, the script is allowed to continue and to terminate naturally. However, if the Document Object of the closed document is referenced, an exception will be thrown.

Tu devrais essayer de mettre le closeDoc après le viewState...

Quand à app.openInPlace, tu peux effectivement l'oublier.

 :idee:
« Modifié: 16 avril 2009 : 22:02 par Merlin »
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
Je vais essayer plus tard, mais là je profite que j'ai accès au site :
- Si dans un même script je ferme le doc après avoir été sur un autre doc, à quel doc s'applique "closeDoc(true);"????
- Ne faut-il pas fermer le doc origine en scrip d'ouverture du doc cible???
Merci
 :doute:

  • Grand magicien
  • Messages: 712
ça ne fonctionne pas (sur pc) en inversant les 2 instructions. Le doc source reste ouvert en second plan et le doc cible est ouvert en première page.
Sur Mac ça marche bien ! Ce que je ne comprend pas dans le doc de jeff moran c'est qu'il parle de parité entre windows et Mac os (pas osx) alors que le mdi fonctionne apparemment avec osx. Et puis le coup des écrans pas chers pour laisser tomber le mdi me laisse septique!!!
Je continue mes recherches...
 :doute:

  • Grand magicien
  • Messages: 712
Début de solution qui fonctionne :
J'ai enlevé le closeDoc(true) en fin de script de bouton et j'ai rajouté var myDoc = this.info.Title
Ça fonctionne, je retombe bien à la bonne page.
Donc en script d'ouverture j'ai ajouté myDoc.closeDoc(true) mais le doc source ne se ferme pas !
 :doute:

  • Grand magicien
  • Messages: 7 286
Quand à app.openInPlace, tu peux effectivement l'oublier.

Pardon, j'ai confondu : cette option est toujours valable dans la version 9...

 :Ooops:  :siffle:
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 7 286
Citer
ça ne fonctionne pas (sur pc) en inversant les 2 instructions. Le doc source reste ouvert en second plan et le doc cible est ouvert en première page.
Est-ce que c'est vraiment grave ?


Citer
Sur Mac ça marche bien !
Je pense à un problème de règles de sécurité...


Citer
Ce que je ne comprend pas dans le doc de jeff moran c'est qu'il parle de parité entre windows et Mac os (pas osx)
Si, il n'est question que d'OSX.
La parité concerne le développement de l'application et les fonctions proposées à l'utilisateur.

 :soleil:
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 7 286
Citer
Donc en script d'ouverture j'ai ajouté myDoc.closeDoc(true) mais le doc source ne se ferme pas !
Ne serait-ce pas plutôt : this.closeDoc ?
Peut-on passer le nom du doc à fermer en argument ? (entre les parenthèses)

 :idee:

Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 712
J'ai essayé en mettant this.closeDoc en script d'ouverture, mais... ça me referme le doc immédiatement !!!
j'ai fait pas mal d'essais et en suis arrivé à ce script (uniquement sur le bouton) :

var d = app.openDoc("01-Make_F.pdf",this);
global.vue = this.viewState;
d.viewState = global.vue;
app.openDoc("01-Make_E.pdf", this);
this.closeDoc();

app.openDoc rappelle le doc source qui est eensuite fermé
j'ai bien cru que j'y étais arrivé, sauf que, je ne sais pouquoi, ça fonctionne uniquement la première fois (lorsque acrobat est lancé). Pour les fois suivante le doc cible reste au premier plan et à la première page.

Dans Acrobat 9 SDK Documentation j'ai trouvé ça :

The following code can be executed as a mouse-up action from an open document. It closes all disclosed open documents. The code is designed to close the active document last so that the execution of the code will not be abruptly terminated.

   var d = app.activeDocs;

   for( var i in d )

      if( d != this ) d.closeDoc();

   if ( this.disclosed ) this.closeDoc();

Ne pourrait-on pas s'inspirer de ce script pour fermer la fenêtre de second plan ???

 :???: :Euuuh: :???: