abracadabraPDF › Forums › PDF – Général › Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue)
- Ce sujet est vide.
-
CréateurSujet
-
22 novembre 2007 à 12:18 #43596
bebarth
Maître des clésBonjour,
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.
-
CréateurSujet
-
AuteurRéponses
-
3 décembre 2007 à 14:16 #49458
cdiautomation
MembreBien, si ça marche pour vous, dans les grandes boîtes, les machines sont bloquées
3 décembre 2007 à 15:16 #49459Merlin
Maître des clésMoi 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 +).3 décembre 2007 à 20:26 #49460bebarth
Maître des clésDans 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
???3 décembre 2007 à 20:36 #49461Merlin
Maître des clésDans 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.
3 décembre 2007 à 20:40 #49462bebarth
Maître des clésle problème, c’est que je ne pense plus avoir de machine ou tourne la version 5 (OS9 je crois?)
4 décembre 2007 à 11:49 #49463Merlin
Maître des clésLa 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.
14 janvier 2008 à 13:19 #49464bebarth
Maître des clésJe 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
??:
15 janvier 2008 à 03:44 #49465Merlin
Maître des clésJ’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 ?
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: )15 janvier 2008 à 13:18 #49466bebarth
Maître des clésdans 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:
15 janvier 2008 à 15:13 #49467Merlin
Maître des clésJe 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:
16 janvier 2008 à 07:25 #49468bebarth
Maître des clésc’est ce que je pense avoir fait !!!
:mur:16 janvier 2008 à 12:22 #49469Merlin
Maître des clésEn 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…
16 janvier 2008 à 12:25 #49470Merlin
Maître des clésje 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:16 janvier 2008 à 17:10 #49471bebarth
Maître des clésJe 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:16 janvier 2008 à 20:33 #49472Merlin
Maître des clésSi tu as les 3 PDF (et s’ils sont quasiment identiques), tu peux créer un PDF multicalques avec InDesign.
4 février 2008 à 19:05 #49473alex
ParticipantJe 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.
16 avril 2009 à 09:16 #49474bebarth
Maître des clésAlors 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:16 avril 2009 à 11:52 #49475Merlin
Maître des clésJe pense que tu dois faire partie des victimes du passage MDI vers SDI :
http://www.abracadabrapdf.net/forum/index.php?topic=1109:Euuuh:
16 avril 2009 à 14:57 #49476bebarth
Maître des clésJ’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:16 avril 2009 à 15:03 #49477Merlin
Maître des clésBen euh…
Peut on voir ce script ?
Parce que j’avoue que depuis le temps, je l’ai un peu perdu de vue.
:joker:16 avril 2009 à 18:19 #49478bebarth
Maître des clésen 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:
16 avril 2009 à 20:00 #49479Merlin
Maître des clésJ’ai trouvé ça dans la doc :
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:
17 avril 2009 à 04:47 #49480bebarth
Maître des clésJe 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:17 avril 2009 à 06:22 #49481bebarth
Maître des clésç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:17 avril 2009 à 07:30 #49482bebarth
Maître des clésDé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:AuteurRéponses- Vous devez être connecté pour répondre à ce sujet.