Donnez vie à vos documents numériques !
 

Suppression des scripts d’un fichier

abracadabraPDF Forums PDF – Général Suppression des scripts d’un fichier

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45490
    bebarth
    Maî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:

Affichage de 25 réponses de 1 à 25 (sur un total de 29)
  • Auteur
    Réponses
  • #61284
    Merlin
    Maître des clés

    Bonjour.

    On peut utiliser l’enregistrement avec « Optimisation PDF » qui est disponible en fin d’Action.

    #61285
    bebarth
    Maître des clés

    Merlin,

    …qui est disponible en fin d’Action.

    …où est-ce disponible ? je n’ai pas trouvé !
    @+
    :bonjour:

    #61286
    Merlin
    Maître des clés

    Un dessin vaut mieux qu’un long discours.  :Smiley03:
    Par-contre ça oblige à enregistrer un paramètre prédéfini dans Optimisation PDF.

    #61287
    bebarth
    Maître des clés

    comme ça j’ai compris 😉
    …et pas de problème pour l’enregistrement des préférences !
    merci.
    :bonjour:

    #61288
    bebarth
    Maître des clés

    bonjour 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:

    #61289
    Merlin
    Maître des clés

    Aplatir (flatten) : supprime tous les champs et donc tous les scripts associés.

    Mais je n’ai pas mieux…  :joker:

    #61290
    bebarth
    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:

    #61291
    Merlin
    Maître des clés

    A part fermer (et éventuellement ensuite rouvrir) les autres fichiers je ne vois pas…  :oh:

    #61292
    bebarth
    Maître des clés

    Effectivement, 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:

    #61293
    Merlin
    Maître des clés

    je 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:

    #61294
    bebarth
    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:

    #61295
    Merlin
    Maître des clés

    Essaye en déclarant app.openInPlace = true; dans le script d’ouverture du document principal plutôt qu’ensuite dans une fonction…
    :priere:

    #61296
    bebarth
    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:

    #61297
    Merlin
    Maître des clés

    J’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…

    #61298
    bebarth
    Maître des clés

    bonjour,
    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:

    #61299
    Merlin
    Maître des clés

    As 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.

    #61300
    bebarth
    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:

    #61301
    Merlin
    Maître des clés

    C’est pas encore fait mais je pense que ça devrait le faire…

    En tout cas, a priori c’est faisable.
    :Smiley03:

    #61302
    bebarth
    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:

    #61303
    bebarth
    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:

    #61304
    Merlin
    Maître des clés

    Bon, ben si tu fais les questions et les réponses, moi je vais déjeuner.
    :Smiley08:

    #61305
    bebarth
    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:

    #61306
    Merlin
    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.

    #61307
    bebarth
    Maître des clés

    bonsoir,
    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:

    #61308
    Merlin
    Maître des clés

    Je 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:

Affichage de 25 réponses de 1 à 25 (sur un total de 29)
  • Vous devez être connecté pour répondre à ce sujet.