abracadabraPDF › Forums › PDF – Général › Suppression des scripts d’un fichier
- Ce sujet est vide.
-
CréateurSujet
-
14 septembre 2016 à 08:04 #45490
bebarth
Maître des clésbonjour,
Lorsqu’on extrait une page, tous les scripts relatifs au document et à cette page sont enregistrés dans le nouveau fichier.
this.removeScript permet de supprimer les scripts de document, mais peut-on supprimer (avec une action) les scripts de page ou tous les scripts du document comme on pourrait le faire avec enregistrer sous… pdf optimisé..
Merci
@+
:bonjour: -
CréateurSujet
-
AuteurRéponses
-
14 septembre 2016 à 10:05 #61284
Merlin
Maître des clésBonjour.
On peut utiliser l’enregistrement avec « Optimisation PDF » qui est disponible en fin d’Action.
14 septembre 2016 à 13:02 #61285bebarth
Maître des clésMerlin,
…qui est disponible en fin d’Action.
…où est-ce disponible ? je n’ai pas trouvé !
@+
:bonjour:14 septembre 2016 à 13:14 #61286Merlin
Maître des clésUn dessin vaut mieux qu’un long discours. :Smiley03:
Par-contre ça oblige à enregistrer un paramètre prédéfini dans Optimisation PDF.14 septembre 2016 à 13:40 #61287bebarth
Maître des cléscomme ça j’ai compris 😉
…et pas de problème pour l’enregistrement des préférences !
merci.
:bonjour:15 septembre 2016 à 07:51 #61288bebarth
Maître des clésbonjour Merlin,
:Euuuh: L’action est exécutée sur le fichier en premier plan (this) ce qui paraît normal.Lorsque j’ouvre ma page extraite avec otherDoc=app.openDoc… et que j’applique l’action, cela me nettoie bien les scripts… mais de mon fichier complet (et non de la page extraite).
Il me semble avoir déja vu dans l’api reference une commande pour intervertir les fenêtres, mais je ne retrouve pas.
Sinon aurais-tu une autre solution ?
Merci.
:bonjour:15 septembre 2016 à 08:09 #61289Merlin
Maître des clésAplatir (flatten) : supprime tous les champs et donc tous les scripts associés.
Mais je n’ai pas mieux… :joker:
15 septembre 2016 à 08:44 #61290bebarth
Maître des clés…oui, mais seulement du fichier ouvert au premier plan !
Je souhaiterais donc passer la page extraire au premier plan pour pouvoir supprimer les scripts.
@+
:bonjour:15 septembre 2016 à 10:44 #61291Merlin
Maître des clésA part fermer (et éventuellement ensuite rouvrir) les autres fichiers je ne vois pas… :oh:
15 septembre 2016 à 10:57 #61292bebarth
Maître des clésEffectivement, mais à ce que j’ai compris les actions sont liées directement à la fenêtre du fichier. Si on ferme la fenêtre d’où est lancée l’action on a un message qui indique que l’action n’est pas terminée…
Aussi, je me demandais s’il n’était pas possible de faire quelque chose avec app.openInPlace mais je n’ai pas tout compris pour l’instant !!!
@+
:bonjour:15 septembre 2016 à 12:39 #61293Merlin
Maître des clésje me demandais s’il n’était pas possible de faire quelque chose avec app.openInPlace
Ça risque de fermer le document ouvert et donc envoyer l’alerte immédiatement… :doute:
15 septembre 2016 à 13:38 #61294bebarth
Maître des clés…pour l’instant je n’arrive pas à utiliser app.openInPlace, ça m’ouvre toujours le second fichier dans une autre fenêtre…
:mur:15 septembre 2016 à 15:50 #61295Merlin
Maître des clésEssaye en déclarant app.openInPlace = true; dans le script d’ouverture du document principal plutôt qu’ensuite dans une fonction…
:priere:15 septembre 2016 à 20:35 #61296bebarth
Maître des clés…c’est toujours pareil !
Si l’on déclare app.openInPlace = true ou false en script d’ouverture de document, ça devrait changer les préférences lorsqu’on ouvre le fichier, non ?
Ça n’a pas l’air de fonctionner…
@+
:bonjour:15 septembre 2016 à 20:52 #61297Merlin
Maître des clésJ’ai l’impression, que comme souvent dans ce cas, ça change les préférences concernant les actions de l’utilisateur mais ça ne vaut pas forcément pour les actions scriptées…
16 septembre 2016 à 07:14 #61298bebarth
Maître des clésbonjour,
Après quelques recherches, j’ai peur que ce ne soit pas possible, du moins directement…
https://answers.acrobatusers.com/I-am-a-beginner-help-with-code-q294603.aspx
Le seul moyen est (ou serait) de créer un signet où là, c’est possible !
J’ai essayé « manuellement » étape par étape ce que je voudrais faire et ça fonctionne.
Je vais essayer d’intégrer tout ça dans une action maintenant… :jerisjaune: …mais comment (et peut-on) lancer l’action d’un signet via un script ou une action ???
@+
:bonjour:16 septembre 2016 à 08:29 #61299Merlin
Maître des clésAs I’ve explained before, the App.openDoc() method will always open a new window for the document, there is nothing you can do about this. As far as I know, you cannot open a document using the same window as the current document via JavaScript, this can only be done using a real link (or bookmark) that is using the « go to page view » action.
Si c’est KHK qui le dit on peut le croire.
Mais on ne peut pas lancer une Action depuis un signet, on ne peut lancer que du JavaScript.16 septembre 2016 à 08:38 #61300bebarth
Maître des clés…je pensais plutôt lancer l’action du signet via l’outil action :idee: mais j’ai peur que ce ne soit pas possible.
Je vais donc dans mon action afficher le panneau signet et un message indiquant qu’il faut cliquer sur le signet pour continuer.
C’est pas encore fait mais je pense que ça devrait le faire…
@+
:bonjour:16 septembre 2016 à 08:43 #61301Merlin
Maître des clésC’est pas encore fait mais je pense que ça devrait le faire…
En tout cas, a priori c’est faisable.
:Smiley03:16 septembre 2016 à 09:45 #61302bebarth
Maître des clés…je réfléchi, parce que ça fait une action de plus à effectuer, et pour l’utilisateur c’est toujours une action de trop !!!
En fait, je génère les factures à partir des fichiers des patients de ma fille qui est ostéo, et je souhaite aplatir et retirer les scripts de ces fichiers factures.
Je peux donc créer également une action sur tout un répertoire qu’elle pourrait ne lancer qu’une fois de temps en temps. Est-il possible de savoir si le fichier a déjà été aplati, ou s’il existe des scripts dans ce fichier pour éviter de réenregistrer des fichiers sans rien effectuer dessus…
J’espère avoir été assez clair !
@+
:bonjour:16 septembre 2016 à 09:54 #61303bebarth
Maître des clés…Est-il possible de savoir si le fichier a déjà été aplati,…
Je me répond à moi-même : il suffit de vérifier que this.numFields = 0 !!!
@+
:bonjour:16 septembre 2016 à 10:22 #61304Merlin
Maître des clésBon, ben si tu fais les questions et les réponses, moi je vais déjeuner.
:Smiley08:16 septembre 2016 à 13:15 #61305bebarth
Maître des clés…pour effacer les scripts de document avec this.removeScript, on est obligé de les supprimer un par un ???
J’ai essayé this.removeScript() pour tous les supprimer mais ça ne fonctionne pas. Il me semblait pourtant…
@+
:bonjour:16 septembre 2016 à 13:38 #61306Merlin
Maître des clés…pour effacer les scripts de document avec this.removeScript, on est obligé de les supprimer un par un ???
Oui, il me semble bien.
20 septembre 2016 à 20:46 #61307bebarth
Maître des clésbonsoir,
j’arrive à la fin de mon projet, après avoir supprimé les scripts il ne me reste plus qu’a définir les options d’ouverture et je voudrais donc rajouter un script de document :
otherDoc.addScript(« ouverture », « app.execMenuItem(« ShowHideOptCont »);app.execMenuItem(« FitPage »); »);
sauf que la console m’indique une erreur de syntaxe « ) » et je ne trouve pas ou !!!
une idée ??
Merci.
:bonjour:20 septembre 2016 à 23:38 #61308Merlin
Maître des clésJe n’ai pas compris tout de suite… :mur:
En fait il faut échapper les guillemets et les parenthèses « internes » :
otherDoc.addScript(« ouverture », « app.execMenuItem(« ShowHideOptCont« );app.execMenuItem(« FitPage« ); »);:extra:
21 septembre 2016 à 05:28 #61309bebarth
Maître des clésMerci Merlin,
J’ai vu un exemple sur le web où l’on disait de mettre un backslash (ou barre oblique inversée :geek:) avant les guillemets, mais rien au sujet des parenthèses… et à cette heure tardive, ça ne m’est pas venu à l’esprit d’essayer !
@+
:bonjour:21 septembre 2016 à 12:08 #61310Merlin
Maître des cléset à cette heure tardive, ça ne m’est pas venu à l’esprit d’essayer !
Je crois que c’est aussi pour ça que :
Je n’ai pas compris tout de suite… :mur:
:Smiley08:
23 septembre 2016 à 05:44 #61311bebarth
Maître des clésotherDoc.addScript(« ouverture », « app.execMenuItem(« ShowHideOptCont« );app.execMenuItem(« FitPage« ); »);
bonjour,
app.execMenuItem(« FitPage ») fonctionne à l’ouverture du document avec Mountain Lion (OSX 10.mais ne fonctionne plus avec El Capitan (OSX 10.11) et ce, avec la même version Acrobat XI.
Ce qui est étrange, c’est que le script de document a bien été créé, et que ce script fonctionne lorsqu’on referme la fenêtre d’outils « Scripts Javascript du document ». Ce qui pour moi signifie que cette commande est comprise par le système, et du coup c’est moi qui ne comprend pas !!! :geek:@+
:bonjour:23 septembre 2016 à 06:17 #61312Merlin
Maître des clésSur Mavericks (X.9) ça fonctionne aussi très bien.
Peut être faudrait-il poser la question au « bugs report » d’Adobe ?
(Maintenant qu’ils répondent) -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.