Toutes mes réponses sur les forums
-
AuteurRéponses
-
Mary31Participant
Bonjour,
et merci pour vos réponses que j’ai approfondies avec les liens envoyés en consultant les posts. :bonjour:Je suis donc allée à ce qui est le plus concret pour moi et me suis servie des actions que Bebarth avait déjà créées et qui correspondent tout à fait à mon besoin : générer un publipostage à partir d’un formulaire .pdf et d’un fichier de données ; générer autant de pdf pré-renseigné que de lignes dans le fichier de données.
Mon fichier est bien enregistré en .csv, il est joint au formulaire .pdf et les deux sont enregistrés dans un même répertoire auquel j’ai accès en écriture.
Les champs du fichiers .csv, sont bien identiques aux champs du formulaire .pdfJ’ai ajouté l’action “Générer un formulaire” que Bebarth a déjà conçu. Je l’ai adaptée à mon formulaire et fichier en apportant les modifs au niveau des lignes newDoc et pour le nommage des fichiers générer après la fusion.
Hier, cela a fonctionné mais uniquement pour la première ligne du tableau (donc la seconde en dessous de celle qui correspond aux champs). La fusion s’est arrêtée au champ “Adresse” (colonne 4). pour les champs “Tél. portable” (col 5) et “Téléphone fixe” col(6) il est indiqué “undefined” et puis plus rien pour les autres.
Aujourd’hui, je n’ai plus de nouveau .pdf généré et enregistré correctement. J’ai juste l’ouverture d’un fichier pdf.tmp toujours pour la première ligne et avec les mêmes indications (comme ci-dessus) au niveau des champs (j’ai dû modifier quelque chose sans m’en rendre compte…)Voici les modifs que j’ai donc apportées au script pour les adapter à mes documents (certains champs sont volontairement anonymisés) :
Code:// Initialisation
var Chemin=this.path;
var CheminSansExt=Chemin.substring(0,Chemin.length-4)
// Importer l’unique PJ sans la nommer
var p=this.getDataObject(this.dataObjects[0].name)
var fichier=this.getDataObjectContents(p.name)
var donnees=util.stringFromStream(fichier)
// Séparation des rangées (saut de ligne)
var rangees=donnees.split(“n”)
// Séparation des colonnes (TAB)
var colonnes=new Array();
for (var i=1; icolonnes=rangees.split(“;”);
// Création d’un nouveau document
var newDoc=app.newDoc();
// Insertion de la/des page(s)
newDoc.insertPages({cPath: Chemin});
// Suppression de la première page générée à la création du document
newDoc.deletePages(0);
// remplissage des champs
newDoc.getField(“Nom d’usage”).value=colonnes[1];
newDoc.getField(“Nom de famille”).value=colonnes[2];
newDoc.getField(“Prénoms”).value=colonnes[3];
newDoc.getField(“Adresse”).value=colonnes[4];
newDoc.getField(“Tél. portable”).value=colonnes[5];
newDoc.getField(“Téléphone fixe”).value=colonnes[6];
newDoc.getField(“courriel”).value=colonnes[7];
newDoc.getField(“Profession”).value=colonnes[8];
newDoc.getField(“Employeur”).value=colonnes[9];
newDoc.getField(“Champ 10”).value=colonnes[10];
newDoc.getField(“Champ 11”).value=colonnes[11];
newDoc.getField(“Champ 13”).value=colonnes[13];
newDoc.getField(“Champ 14”).value=colonnes[14];
newDoc.getField(“Champ 15”).value=colonnes[15];
newDoc.getField(“Champ 17”).value=colonnes[17];
newDoc.getField(“Champ 19”).value=colonnes[19];
newDoc.getField(“Champ 21”).value=colonnes[21];
newDoc.getField(“Champ 24”).value=colonnes[24];
newDoc.getField(“Champ25”).value=colonnes[25];// etc. Le nom du champ correspondant au numéro de la colonne (basée sur 0)
// Enregistrement “NomDuFichier (Nom d’usage Prénoms).pdf”
newDoc.saveAs(CheminSansExt+” (“+colonnes[1]+” “+colonnes[3]+”).pdf”);
// Fermeture du fichier
newDoc.closeDoc();
}
// Message d’alerte
app.alert(rangees.length-1+” formulaires individuels ont été créés.”,2);A votre avis, qu’est-ce qu’il ne va pas ? Faut-il que j’allège également le nom des champs ?
Mary31ParticipantBonjour à tous,
j’ai lu le fil des discussions sur ce sujet qui m’intéresse fortement.Je voudrais me lancer pour tester. Simplement et étant d’un niveau “amateur” je voulais savoir où créer le code qui génèrera plusieurs fichiers à l’issue d’un import de données en .txt.
– Tous les scripts JavaScript ?
– Scripts JavaScript du document ?
– Action du document ?:Euuuh: Merci…
ps : je travaille sur PC
26 juin 2020 à 09:30 en réponse à : Personnalisation d’un bouton permettant d’importer une pièce jointe #63967Mary31ParticipantBonjour,
Mon formulaire a bien avancé. J’ai deux questions :
– 1 sur un bouton d’importation de pj, j’ai indiqué le script suivant :
var annot = this.addAnnot({
page: this.pageNum,
type: “FileAttachment”,
author: “PJ 1 OK !”,
contents: “Double-clic pour ouvrir ou supprimer pour effacer”,
attachIcon: “Paperclip”,
point: [500,310],
strokeColor: color.blue,
});
var annot = this.addAnnot({
page: this.pageNum,
type: “FileAttachment”,
author: “PJ 2 OK !”,
contents: “Double-clic pour ouvrir ou supprimer pour effacer”,
attachIcon: “Paperclip”,
point: [510,310],
strokeColor: color.blue,
});
var annot = this.addAnnot({
page: this.pageNum,
type: “FileAttachment”,
author: “PJ 3 OK !”,
contents: “Double-clic pour ouvrir ou supprimer pour effacer”,
attachIcon: “Paperclip”,
point: [520,310],
strokeColor: color.blue,
});Je compte le dupliquer en 5 fois, afin que le trombone soit à chaque fois décalé sur le formulaire.
En phase test, cela fonctionne sauf que la fenêtre parcourir reste ouverte et ne se ferme pas automatiquement. Du coup l’utilisateur va penser qu’il n’a pas correctement insérer la pj.
J’imagine qu’il y a quelque chose à ajouter dans le code pour que la fenêtre se referme mais je ne suis pas développeur….Pourriez-vous me dire ???
2- Je voulais savoir si en termes de signature vous auriez quelque chose de moins lourd que le bouton signature que propose acrobat reader
Mais je vais d’abord recherche des sujets sur le forumBonne journée ! :soleil:
24 juin 2020 à 14:46 en réponse à : Personnalisation d’un bouton permettant d’importer une pièce jointe #63965Mary31ParticipantMerci Merlin, j’ai changé de version du logiciel et effectivement J’Y ARRIVE :joker:
Mary31ParticipantMerci Merlin
J’ai fait comme tu m’as suggéré. J’ai raccroché ma problématique à un sujet déjà existant.
Bonne soirée22 juin 2020 à 16:33 en réponse à : Personnalisation d’un bouton permettant d’importer une pièce jointe #63963Mary31Participantbonjour,Une petite variante pour choisir l’icône et sa couleur.@+ :bonjour:
J’ai aussi ouvert le pdf de bebarth qui m’a l’air top mais quand je clique sur le champ “importer” j’ai l’image correspond au trombone mais il n’y pas d’autre fenêtre de type “parcourir” pour permettre à l’utilisateur d’aller chercher le doc à insérer…
Je ne suis pas un pro… désolée mais je me dis qu’il n’y pas de raison de ne pas y arriver si la solution existe :priere: HELP ! :Ooops:
22 juin 2020 à 14:58 en réponse à : Personnalisation d’un bouton permettant d’importer une pièce jointe #63962Mary31ParticipantBonjour,
A priori ce sujet devrait correspondre à ma demande….Je souhaiterais envoyer un formulaire à des utilisateurs. Dans ce formulaire, il y a des champs à renseigner mais aussi des documents à importer en tant que pièce jointe.
Je vous donne un exemple en pj.
J’ai commencé à créer le bouton, le libellé et l’icône pour guider l’utilisateur.Ensuite si je comprends bien je dois me référer au tuto :
Importer programmatiquement une pièce jointe dans un PDFet c’est là où je n’arrive pas à concrétiser mon action, la formule java script n’apporte pas grand chose…
pouvez-vous m’aider…20 février 2020 à 07:57 en réponse à : Afficher et masquer des éléments d’un formulaire en cliquant sur une case à coch #66996Mary31Participant:bravo: :extra: :bravo:
Bravo, c’est magique !!!
J’ai juste inversé l’ordre du visible et hidden pour que cela colle vraiment à mon besoin…
if (event.target.value != “Off”) {
this.getField(“Text35”).display = display.hidden;
this.getField(“Dropdown4”).display = display.hidden;
this.getField(“Text70”).display = display.hidden;
// etc.}
else {
this.getField(“Text35”).display = display.visible;
this.getField(“Dropdown4”).display = display.visible;
this.getField(“Text70”).display = display.visible;
// etc.
}encore merci pour votre aide à tous les deux :soleil:
19 février 2020 à 08:09 en réponse à : Afficher et masquer des éléments d’un formulaire en cliquant sur une case à coch #66991Mary31ParticipantMerci aussi à Bebarth,
Effectivement je laisse tomber la remontée des éléments du dessous en fonction de la disparition de champs.
L’important est de réussir à franchir la première étape qui est d’ afficher et masquer des champs en cochant une case
Bonne journée
19 février 2020 à 08:03 en réponse à : Afficher et masquer des éléments d’un formulaire en cliquant sur une case à coch #66990Mary31ParticipantMerci Merlin
voilà ce que j’ai placé en action “champ désactivé” dans la case à cocher :
if (event.value != “Off”) {
this.getField(“Text35”).display = display.visible;
this.getField(“Dropdown4”).display = display.visible;
this.getField(“Délégation/Quartier”).display = display.visible;
// etc.
}
else {
this.getField(“Text35”).display = display.hidden;
this.getField(“Dropdown4”).display = display.hidden;
this.getField(“Délégation/Quartier”).display = display.hidden;
// etc.
}résultat : rien…
on dirait qu’aucune connexion finalement ne se fait entre la case à cocher et les champs. Ai-je commis des erreurs d’écriture au niveau des champs, j’ai pourtant bien repris chaque nom de ces derniers ?
au-delà du script, faut-il que j’engage d’autres actions ? au niveau des autres propriété de la case à cocher ou des champs que je souhaite masquer et afficher
Dommage, je sens que l’on y est presque :Euuuh:
18 février 2020 à 06:06 en réponse à : Afficher et masquer des éléments d’un formulaire en cliquant sur une case à coch #66987Mary31ParticipantMerci pour votre aide, voici mon formulaire incomplet, j’ai fait une capture d’écran
Cela se joue dans la partie “Expérience”. Y sont référencées 3 périodes. Si aucune affectation n’est à renseigner pour les périodes 1 et 2, le fait de cocher la case masque les champs à renseigner et, idéalement, fait remonter la ou les périodes où une affectation pourra être référencée pour éviter trop d’espace vide…
Mais pour répondre à Merlin, je me rends compte qu’il n’y a pas tant d’espace que cela …donc si le déplacement des parties est trop compliqué, je préfère privilégier mon premier besoin d’afficher et de masquer plusieurs champs à chaque que l’on clique sur la case correspondante
J’espère que mes éléments seront suffisants pour pouvoir me donner des conseils.
Merci !!!
Merci !!!
-
AuteurRéponses