abracadabraPDF › Forums › PDF – Général › Suppression des scripts d’un fichier
- Ce sujet est vide.
-
CréateurSujet
-
14 septembre 2016 à 08:04 #45490bebarthMaître des clés
bonjour,
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 #61284MerlinMaître des clés
Bonjour.
On peut utiliser l’enregistrement avec “Optimisation PDF” qui est disponible en fin d’Action.
14 septembre 2016 à 13:02 #61285bebarthMaî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 #61286MerlinMaî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 #61287bebarthMaî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 #61288bebarthMaî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 #61289MerlinMaî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 #61290bebarthMaî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 #61291MerlinMaître des clésA part fermer (et éventuellement ensuite rouvrir) les autres fichiers je ne vois pas… :oh:
15 septembre 2016 à 10:57 #61292bebarthMaî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 #61293MerlinMaî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 #61294bebarthMaî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 #61295MerlinMaî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 #61296bebarthMaî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 #61297MerlinMaî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 #61298bebarthMaî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 #61299MerlinMaî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 #61300bebarthMaî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 #61301MerlinMaî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 #61302bebarthMaî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 #61303bebarthMaî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 #61304MerlinMaî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 #61305bebarthMaî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 #61306MerlinMaî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 #61307bebarthMaî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 #61308MerlinMaî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 #61309bebarthMaî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 #61310MerlinMaî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 #61311bebarthMaî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 #61312MerlinMaî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.