Donnez vie à vos documents numériques !
 

Chargement avec un script de données TXT dans un PDF. – RÉPONDU

abracadabraPDF Forums PDF – Général Chargement avec un script de données TXT dans un PDF. – RÉPONDU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44470
    nini
    Participant

    Bonjour à tous, ami du PDF,

    Une question  :Smiley08:
    J’ai un fichier PDF(ci-joint) avec trois champs(texte1, texte2, texte3) et un fichier txt(ci-joint) avec des données.

    Est-il possible de charger avec un script à l’ouverture du document le fichier txt ou au pire si ce n’est pas possible, avec un bouton(script) ?
    PS: on peut le faire manuellement mais pas pratique avec la fonction: Formulaire > autre option de formulaire > gérer les données de formulaire > importer des données

    Merci d’avance.
    Meilleures salutations.

    [attachment deleted by admin]

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

    Salut,

    Je pense que le fichier ci-joint devrait faire ton bonheur (le fichier texte est en pièce jointe : à extraire d’abord).

    :Smiley15:

    [attachment deleted by admin]

    #54781
    nini
    Participant

    Salut,

    Merci pour ta rapidité  :Smiley01:

    Mais est-il possible d’y mettre le chemin avec le nom du fichier afin qu’il le télécharge automatiquement ?  :doute:

    Car le fichier txt va être gerer par une personne, les données vont souvant changer.
    Et les utilisateurs n’auront qu’à cliquer sur le bouton pour mettre à jour les champs.  :extra:

    Salutations  :bonjour:

    #54782
    Merlin
    Maître des clés

    Mais est-il possible d’y mettre le chemin avec le nom du fichier afin qu’il le télécharge automatiquement ?

    Oui et non.

    Non, car dans un environnement « ouvert » un PDF ne peux pas importer/exporter des données (ou autre) à l’insu de l’utilisateur. Cela n’est possible que via une intervention manuelle et explicite de l’utilisateur, via le sélecteur de fichiers.

    Oui en environnement fermé, c’est-à-dire quand on maitrise le parc machines et que l’on peut installer des plugins/extensions JavaScript (ou éventuellement des Actions de traitement par lot) sur chaque poste.
    Auquel cas le script peut s’exécuter en « mode protégé » et agir sans intervention de l’utilisateur.

    :Smiley15:

    #54783
    nini
    Participant

    Oui en environnement fermé, c’est-à-dire quand on maitrise le parc machines et que l’on peut installer des plugins/extensions JavaScript (ou éventuellement des Actions de traitement par lot) sur chaque poste.
    Auquel cas le script peut s’exécuter en « mode protégé » et agir sans intervention de l’utilisateur.

    :Smiley15:

    Ok, cela m’intérresse  :Smiley01:
    Peux-tu me donner la marche à suivre pour les installer et quels sont-ils ?  :Euuuh:
    Ce sont des plugins qui ne sont pas d’Acrobat (Adobe) ?

    :Smiley08:

    #54784
    Merlin
    Maître des clés

    C’est un plugin perso à créer soi-même, cela consiste en fait à créer une fonction dans le logiciel, et à appeler cette fonction depuis le document.
    Par exemple :

    function importeMesDonnees()
    {
    this.importTextData(c:xxxxxxxxx:datas.txt);
    }

    c:xxxxxxxxx:datas.txt est le chemin d’accès en dur.

    Ce code est à placer dans un fichier texte créé avec un éditeur de texte, et a enregistrer avec le suffixe .JS (peu importe son nom).
    Ce fichier .JS est à placer dans un des sous-dossiers JavaScript de Reader ou d’Acrobat sur chaque poste utilisateur.
    Voir : http://abracadabrapdf.net/articles.php?lng=fr&pg=1044

    Et depuis le document on appelle cette fonction que l’on a installé dans le logiciel en utilisant ce code (dans un bouton ou un script d’ouverture) :

    importeMesDonnees();

    :Smiley15:

    #54785
    nini
    Participant

    J’ai un message d’erreure dans la console(image1)  :Euuuh:

    Le script au bouton, onglet Action: importeMesDonnees();
    Le fichier .js (ci-joint .txt car pas possible t’envoyer en format .js) est placé dans: C:Program FilesAdobeAcrobat 10.0AcrobatJavascripts
    Le fichier txt est sur le bureau

    Il y a une erreur que je ne trouve pas  :Euuuh: :doute:

    [attachment deleted by admin]

    #54786
    Merlin
    Maître des clés

    Le message d’erreur de la Console est assez obscur, mais à l’évidence j’ai oublié plusieurs choses, à commencer par les guillemets qui doivent entourer le chemin d’accès.
    Il manquait aussi le zéro qui indique de sélectionner la 1re rangée de données (la seule en l’occurence), sinon la question est posée à l’utilisateur.

    D’autre part, contrairement à ce que j’ai écris ci-dessus la fonction importTextData est très sécurisée et ne peut normalement pas s’exécuter depuis un script d’application…
    Sauf si on la déclare comme étant « approuvée/certifiée », ce qui requiert un peu plus de code :

    importeMesDonnees = app.trustedFunction(
    function()
    {
    app.beginPriv();
    this.importTextData(« /iMac//Users/NOM/Desktop/Donnees.txt« , 0);
    app.endPriv();}
    );

    Exemple ci-joint, avec importation automatique à l’ouverture du fichier.
    :Smiley15:

    [attachment deleted by admin]

    #54787
    nini
    Participant

    Salut, pour la console effectivement je n’ai plus de message d’erreur.  :bravo:

    J’ai donc pris le fichier joint dans le PDF et placé au endroit concerné, ça ne fonctionne pas  :Smiley02:
    J’ai donc placé: importeMesDonnees();  dans la propriété de la page avec une action « Ouverture de la page > Lancer un script », cela ne fonctionne pas  :doute:

    Je fais une erreur quelques part ? :Euuuh:

    [attachment deleted by admin]

    #54788
    Merlin
    Maître des clés

    J’ai donc pris le fichier joint dans le PDF et placé au endroit concerné, ça ne fonctionne pas 

    Si ça ne fonctionne pas c’est certainement un problème dans le chemin d’accès.

    J’ai donc placé: importeMesDonnees();  dans la propriété de la page avec une action « Ouverture de la page > Lancer un script », cela ne fonctionne pas  :doute:
    Je fais une erreur quelque part ?

    Oui, dans le PDF ci-joint ci-dessus il y a déjà un script qui s’exécute à l’ouverture du document (panneau outils JavaScripts : Script JavaScript du document).
    Ce n’est pas la même chose qu’une action qui s’exécute à l’ouverture de la page, même si dans un fichier monopage cela revient parfois au même.
    :idee:

    #54789
    nini
    Participant

    Salut,

    Effectivement, c’est peut-être c’est un problème dans le chemin d’accès, je l’ai modifié un peu dans tout les sens, cela fontionne toujours pas.  :Smiley02:
    Je ne vois pas ou est mon erreur.  :Euuuh:
    Est-ce que c’est parce que je suis sur Windows ?

    Le script est le suivant :

    importeMesDonnees = app.trustedFunction(
    function()
    {
    app.beginPriv();
    this.importTextData(« c:Documents and SettingsaopoBureauDonnees.txt », 0);
    app.endPriv();}
    );

    Merci d’avance.  :priere:

    #54790
    Merlin
    Maître des clés

    Je ne connais pas suffisamment les arcanes de Windows pour répondre.
    Sur mon Mac j’ai un utilitaire qui, au clic-droit, me copie le chemin d’accès complet de l’élément sélectionné dans le presse-papier, j’imagine que ça doit exister aussi pour Windows…
    :joker:

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