2016-12-16 2 views
0

J'ai récemment cherché à automatiser un certain nombre de choses dans Acrobat via JavaScript et j'ai eu quelques questions à poser. Je me demande si quelqu'un pourrait avoir des idées ou des conseils sur ceux-ci, ce serait apprécié!Acrobat JavaScript: Contenus d'annuaire et fichiers d'hyperliens

  1. Est-il possible d'obtenir le contenu d'un répertoire (pour que la liste des documents puisse être stockée sous forme de tableau) ou de vérifier l'existence d'un fichier? D'après ce que j'ai pu voir, ce n'est peut-être pas ce que JavaScript dans Acrobat peut accomplir en raison d'un manque d'accès au système de fichiers. Deux astuces que j'ai vues suggérées pour vérifier si un fichier existe sont soit de l'importer en pièce jointe, soit d'essayer d'ouvrir le fichier et de voir quel est le résultat. par exemple. if (this.importDataObject ("monFichier", "/testfichier.pdf/")) { Cela ne semble pas fonctionner correctement dans ma situation car les fichiers en question peuvent être très volumineux, et l'importation ou l'ouverture peut être lent. Y at-il un meilleur moyen d'utiliser JavaScript pour définir un lien hypertexte dans un fichier pdf pour ouvrir un fichier? J'ai essayé l.setAction ("app.openDoc (\" testfile.pdf \ ")") qui ajoute le JavaScript cité au lien hypertexte et l'utilise pour ouvrir le fichier dans une nouvelle fenêtre, mais je me demande comment cela se compare-t-il à la façon dont Acrobat lie normalement un fichier, ou s'il existe une autre façon plus optimale de le définir par programme?

Répondre

0

Pour la question 1 - La réponse courte est "Non". Comme vous l'avez dit, Acrobat JavaScript n'a pas accès au système de fichiers. La réponse longue est "Oui - en fonction de ce que vous voulez faire". Acrobat a un moyen d'exécuter des "actions" qui peuvent traiter tous les fichiers dans un répertoire donné, une liste de fichiers, ou tous les fichiers qui sont actuellement ouverts. Vous pouvez exécuter JavaScript sur chaque fichier dans un répertoire en utilisant une action sans que ce script ait besoin de connaître le nom du fichier.

Pour la question 2. La seule option que vous avez pour définir une action de lien via JavaScript est de définir l'action JavaScript. Si vous créez un lien, vous n'avez qu'à définir l'action de la souris. Cependant, vous pouvez ajouter un bouton à la place d'un lien où l'arrière-plan et la bordure sont transparents et sans légende. Vous obtenez quelque chose qui ressemble visuellement à un lien mais vous pouvez définir d'autres actions comme la souris vers le haut ou vers le bas).

+0

Excellentes réponses, merci beaucoup! Malheureusement, l'utilisation de l'Assistant Action peut ne pas aider dans ce cas, j'ai besoin de faire des modifications sur un seul PDF basé sur le contenu d'un répertoire. Il est bon d'avoir une confirmation de cela, et si cela arrive, je pourrais soit demander à l'utilisateur de déposer une liste de fichiers à l'avance, ou voir si écrire des choses comme une application externe est une meilleure idée. Bon à savoir pour les liens aussi, je suppose que l'exemple de la question pourrait être une bonne option pour créer un lien hypertexte vers les fichiers externes dans ce cas. Il semble que cela fonctionnera pour ce dont j'ai besoin. – Amran