abracadabraPDF › Forums › PDF – Général › Chargement avec un script de données TXT dans un PDF. – RÉPONDU
- Ce sujet est vide.
- CréateurSujet
- 13 mars 2013 à 12:50 #44470
nini
ParticipantBonjour à 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éesMerci d’avance.
Meilleures salutations.[attachment deleted by admin]
- CréateurSujet
- AuteurRéponses
- 13 mars 2013 à 15:01 #54780
Merlin
Maître des clésSalut,
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]
13 mars 2013 à 15:54 #54781nini
ParticipantSalut,
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:
14 mars 2013 à 09:46 #54782Merlin
Maître des clésMais 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:
14 mars 2013 à 10:59 #54783nini
ParticipantOui 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:
14 mars 2013 à 11:34 #54784Merlin
Maître des clésC’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);
}Où 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=1044Et 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:
14 mars 2013 à 16:14 #54785nini
ParticipantJ’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 bureauIl y a une erreur que je ne trouve pas :Euuuh: :doute:
[attachment deleted by admin]
14 mars 2013 à 17:36 #54786Merlin
Maître des clésLe 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]
15 mars 2013 à 08:53 #54787nini
ParticipantSalut, 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]
15 mars 2013 à 13:31 #54788Merlin
Maître des clésJ’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:18 mars 2013 à 08:28 #54789nini
ParticipantSalut,
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:
18 mars 2013 à 11:39 #54790Merlin
Maître des clésJe 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: - AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.