abracadabraPDF › Forums › PDF – Général › Ajouter numérotation après un ajout de page modèle
- Ce sujet contient 14 réponses, 3 participants et a été mis à jour pour la dernière fois par
jctremblay, le il y a 2 années et 2 mois.
-
CréateurSujet
-
11 septembre 2023 à 18:33 #73221
jctremblayMaître des clésBonjour,
Dans un PDF, j’ai une page avec trois champs avec les valeur «1», «2», «3»… j’ai besoin d’un modèle de cette page, puis que lorsque le modèle est ajouter à l’aide d’un bouton, que les valeurs de ses trois champs deviennent «4», «5», «6», l’ajout suivant «7», «8», «9», etc.
Je suis perdu, aucune idée de fabriqué cette logique. PDF et modèle en pièces jointes
Attachments:
You must be logged in to view attached files. -
CréateurSujet
-
AuteurRéponses
-
11 septembre 2023 à 21:29 #73224
bebarthMaître des clésbonjour,
Tu peux utiliser l’indice du préfixe de la page dupliquée !@+
😎11 septembre 2023 à 23:55 #73231
jctremblayMaître des clésThis seems to be working… the nbField variable is the number of fields on that page affected. Is there a better way of doing it?
var expTplt = getTemplate("page");expTplt.spawn(numPages,true,false);var pageIndex = this.pageNum;var prefix = "P" + pageIndex;var nbField = pageIndex + 3;this.getField(prefix +".page.A").value = nbField + 1;this.getField(prefix +".page.B").value = nbField + 2;this.getField(prefix +".page.C").value = nbField + 3;
-
Cette réponse a été modifiée le il y a 2 années et 2 mois par
jctremblay.
-
Cette réponse a été modifiée le il y a 2 années et 2 mois par
jctremblay.
12 septembre 2023 à 00:25 #73234
jctremblayMaître des clésMes maths n’étaient pas correct… 😃 ceci fonctionne. (PDF joint pour les curieux)
var pageIndex = this.pageNum;
var prefix = « P » + pageIndex;
var nbField = 3;
this.getField(prefix + ».page.A »).value = pageIndex * nbField + 1;
this.getField(prefix + ».page.B »).value = pageIndex * nbField + 2;
this.getField(prefix + ».page.C »).value = pageIndex * nbField + 3;Attachments:
You must be logged in to view attached files.12 septembre 2023 à 02:06 #73236
jctremblayMaître des clésJe me suis réjouis trop vite…
En réalité, je vais avoir «4 liste» numérotés à configurer. Utiliser le pageIndex ne fonctionneras plus car les pages ne seront pas dupliquer toujours le même nombres ni le même ordre (voir l’image). Il me faudrais une façon de calculer le nombre de pages d’un templates spécifique, et d’utiliser ce nombre pour les calcules.Une idée de comment faire ça?
Attachments:
You must be logged in to view attached files.12 septembre 2023 à 07:08 #73240
bebarthMaître des clésbonjour,
Tu peux stocker des variables dans des champs invisibles que tu mets en page 1 ou les enregistrer en script de document.@+
😎12 septembre 2023 à 11:29 #73241
MerlinMaître des clésBonjour JC
En fait il me manque des éléments pour pouvoir te répondre.
Les pages à dupliquer sont elles toutes identiques ou bien ont elles un contenu différent ?
L’utilisateur a-t-il moyen de supprimer les pages dupliquées et si oui comment ?
Une autre piste serait d’avoir les 12 pages en templates, chacune ayant déjà ses numéros, ses champs et son contenu figé. Ensuite il ne resterait plus qu’à les dupliquer une par une sans renommage des champs.
12 septembre 2023 à 11:49 #73242
jctremblayMaître des clésLes pages à dupliquer sont elles toutes identiques ou bien ont elles un contenu différent ? Contenu différent
L’utilisateur a-t-il moyen de supprimer les pages dupliquées et si oui comment ? Non, sinon qu’avec le navigateur de page
Dans l’image, un utilisateur pour dupliquer la section jaune, par exemple, dix fois. Donc, il y aurait plus que douze pages.
Une solution encore plus simple serait de laisser l’utilisateur entrer même les numéros. Cela risque d’être ma solution considérant le temps que j’ai a y mettre. 😀
12 septembre 2023 à 13:33 #73243
MerlinMaître des clésJe ne comprend pas si la numérotation de ces trois champs doit être continue dans tout le document ou bien est-ce qu’elle doit repartir à 1 dans chaque section/couleur ?
L’utilisateur a-t-il moyen de supprimer les pages dupliquées et si oui comment ? Non, sinon qu’avec le navigateur de page
Est-ce que ça fonctionne dans Acrobat Reader ?
(Je ne peux pas tester)12 septembre 2023 à 16:15 #73244
jctremblayMaître des clésUn compteur par couleur (donc quatre au total dans ce document).
Pour ce qui est de supprimer les pages. En fait, non, ils ne pourrons pas. (Reader ne le permet pas, à moins de leurs offrir un bouton/script).13 septembre 2023 à 05:16 #73245
jctremblayMaître des clésC’est fait (le prototype en pièce jointe). J’ai placé mes variables de compteurs sur la page 1 (ils seront invisibles au final). Puis, chaque page (2,3,7 et 8) avec un compteur est un modèle avec un bouton. Pour la page 2, comme ceci:
var expTplt = getTemplate("p2");
expTplt.spawn(this.pageNum+1,true,false);
var newCount = parseInt(this.getField("counterP2").value + 3);
this.getField("counterP2").value = newCount;
var pageIndex = this.pageNum;
var prefix = "P" + pageIndex;
this.getField(prefix +".p2.p2_1").value = newCount;
this.getField(prefix +".p2.p2_2").value = newCount + 1;
this.getField(prefix +".p2.p2_3").value = newCount + 2;Dommage, le client à changer d’idée! 😐
Attachments:
You must be logged in to view attached files.13 septembre 2023 à 13:44 #73248
MerlinMaître des clésChez moi ça ne fonctionne pas car par exemple avec le bouton page 2: prefix vaut « P1 », car
var pageIndex = this.pageNum;Et parce-que le compte de pageNum commence à zéro il faut ajouter +1
Ce qui donne pour le bouton de la page 2 :
var expTplt = getTemplate("p2");
expTplt.spawn(this.pageNum+1,true,false);var newCount = parseInt(this.getField("counterP2").value + 3);
this.getField("counterP2").value = newCount;var pageIndex = this.pageNum +1;
var prefix = "P" + pageIndex;
console.println("prefix: " + prefix); // retour console
this.getField(prefix +".p2.p2_1").value = newCount;
this.getField(prefix +".p2.p2_2").value = newCount + 1;
this.getField(prefix +".p2.p2_3").value = newCount + 2;Attachments:
You must be logged in to view attached files.13 septembre 2023 à 13:55 #73250
jctremblayMaître des clésPour moi ça fonctionne… dans le PDF la page 2 [pageindex 1] (le modèle) lorsque copier, devient la page 3 [pageindex 2] et les champs dupliquer sont avec un P2. au début.
Si j’utilise var pageIndex = this.pageNum +1;
La console me donne ceci et les champs à modifier ne sont pas reconnue
prefix: P3
TypeError: this.getField(…) is null13 septembre 2023 à 15:08 #73251
MerlinMaître des clésC’est très étrange…
13 septembre 2023 à 15:23 #73252
jctremblayMaître des clésEn effet! 😕
Pas de rapport, mais j’ai ajouté un this.resetForm(prefix); avant de remplir les champs de numérotation, car dans mon doc actuel cela m’assurer de réinitialiser le contenue des modèles dupliquer (je n’utilise pas ici de modèle caché).
-
Cette réponse a été modifiée le il y a 2 années et 2 mois par
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
