Donnez vie à vos documents numériques !
 

Insérer des pages à la suite

abracadabraPDF Forums PDF – Général Insérer des pages à la suite

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45793
    romain05
    Participant

    Bonjour à tous,

    Je me permets de vous demander votre aide car je reste bloqué sur mon document.

    Il y a trois boutons sur la première page qui me permettent de définir combien de pages je veux ajouter.
    Par exemple, 3 pages du modèle “Pièce”, 2 pages de Salle de bain et 1 page pour la cuisine.

    J’aimerais que ces pages s’affichent dans l’ordre du clic et non pas la plus récente à chaque fois.
    J’aimerais également que les 4 dernières pages soient fixes (c’est à dire que les pages ajoutées ne s’ajoutent qu’entre la première et la quatrième page)

    Je vous laisse mon fichier en PJ, si quelqu’un peut m’aider ça serait top :)

    Par avance, merci

Affichage de 36 réponses de 1 à 36 (sur un total de 36)
  • Auteur
    Réponses
  • #63282
    bebarth
    Maître des clés

    bonjour,
    il faut écrire :

    Code:
    this.spawnPageFromTemplate(“NomDuTemplate”, this.numPages-4, false, false);

    @+
    :bonjour:

    #63283
    romain05
    Participant

    Bonjour Bebarth,

    Merci beaucoup pour ta réponse rapide, c’est parfait.

    Bonne journée :)

    #63284
    romain05
    Participant

    En fait, ça me génère un petit problème.
    Si par exemple, je clic deux fois sur ajouter une pièce ( exemple je veux un salon et une chambre) en fait dès que je modifie un formulaire, ça modifie l’autre. Ça me semble logique  puisque c’est basé sur le même modèle.
    Du coup est-ce qu’il existe une façon de rajouter des pages sans qu’elles soient liées ?

    Par avance, merci

    #63285
    bebarth
    Maître des clés

    c’est normal, même nom de champ  -> mêmes valeurs !!!
    Il faut donc juste changer un false par un true…

    Code:
    this.spawnPageFromTemplate(“NomDuTemplate”, this.numPages-4, true, false);

    @+
    :bonjour:

    #63286
    romain05
    Participant

    Ça marche très bien ! merci beaucoup :)

    #63287
    romain05
    Participant

    Petite question supplémentaire en lien avec la création de chaque page.
    Pour parfaire mon document, il faudrait que quand je clic sur le bouton réinitialiser le formulaire que ça ne prenne que quelques champs.
    Or, à j’ajout de nouvelles pages, ces “nouveaux” champs créés, se mettent comme des champs à réinitialiser.
    Savez-vous s’il est possible de rajouter au code ci-dessus, un code empêchant la réinitialisation des champs ?

    Par avance, merci

    #63288
    bebarth
    Maître des clés

    bonjour,
    quels sont les champs à ne pas réinitialiser ou ceux à réinitialiser, selon…
    @+
    :bonjour:

    #63289
    romain05
    Participant


    Merci bebarth, je vais regarder cela.
    Une dernière question, quand j’envoi le formulaire je le fais signer (avec la méthode en PJ).
    J’envoi le fichier à moi et mon client en aplatie et également à moi même en normal pour pouvoir le réutiliser plus tard.
    Cependant, la signature reste alors que je voudrais l’enlever. Sais-tu s’il existe un code pour pouvoir biffer facilement ces signatures ? j’ai plusieurs utilisateurs qui vont utiliser le fichier, j’aimerais arriver à trouver quelque chose de simple.

    Merci

    #63290
    bebarth
    Maître des clés

    bonjour,


    … je vais regarder cela.

    ??? je ne sais pas ce que tu vas regarder car tu ne m’as pas dis quels champs devaient être réinitialisés !


    Cependant, la signature reste alors que je voudrais l’enlever.

    Comment veux-tu l’enlever et comment reste-t-elle ??? Aurais-tu un fichier à partager ?

    …par contre, je ne vais pas être dispo aujourd’hui !!!
    bonne journée.
    @+
    :bonjour:

    #63291
    romain05
    Participant

    Ah, je pensais que ta réponse était une piste de réflexion  :Ooops:

    ENf ait qua

    #63292
    romain05
    Participant

    Oups, je viens de voir que mon post est mal partie.
    J’ai trouvé la solution pour faire simple, j’ai utilisé cette fonction basique qui me permet de réinitialisé seulement les champs voulus :
    this.resetForm(“locataire_1”);

    Au niveau de la signature il doit y avoir une protection, donc j’ai contourné le problème en créant un bouton qui va supprimer les pages de fin et récréer le modèle de la page où je demande la signature.
    Ma formule marche très bien la première fois ( ça me supprime les 3 dernières pages, et ça me rajoute mon modèle).

    Cependant, quand je reclic sur mon bouton, ma page est supprimée mais pas recréée. J’ai l’impression que le fait qu’il n’y ait rien à supprimer, bloque le déroulement du code.
    Voici le code :
    this.deletePages({nStart: this.pageNum+1});
    this.deletePages({nStart: this.pageNum+1});
    this.deletePages({nStart: this.pageNum+1});
    this.getTemplate(“signatairesentrant”).spawn({nPage:16, bRename:false, bOverlay: false});

    Vous auriez une petite idée ? merci beaucoup :)

    #63293
    bebarth
    Maître des clés

    bonjour,
    on a le droit de voir le fichier ?
    Sur le dernier que tu as posté il n’y a pas de bouton reset ni le template indiqué.

    1. 3 fois delete… https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_deletePagesbc-20&rhtocid=_6_1_8_23_1_19
    2. A mon avis tu devrais plutôt écrire :
      this.spawnPageFromTemplate(“signatairesentrant”, this.numPages, false, false);
      Pourquoi nPage:16 si c’est pour insérer en dernière page ?
      https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_spawnPageFromTemplatebc-105&rhtocid=_6_1_8_23_1_104
    3. [/list]@+
      :bonjour:

    #63294
    romain05
    Participant

    Bonjour Bebarth,
    Il ne m’est pas évident d’envoyer le fichier car celui-contient certaines données sur l’entreprise

    Concernant la fonction ça marche parfaitement la première fois, mais pas si je re clic.

    J’aimerais pouvoir utiliser une condition avec Last page afin de dire que si ” le nom du modèle” est en last page alors rien ne se passe, sinon on supprime les 3 derniers documents.

    #63295
    bebarth
    Maître des clés

    A mon avis lorsqu’on insère une page à partir d’un template, cela devient une page et n’a plus de lien avec le template (c’est clair ???  :doute: ).
    il faudrait donc vérifier par exemple le nom d’un champ de la dernière page et voir ce champ est également sur le template…
    @+
    :bonjour:

    #63296
    romain05
    Participant

    ah oui cette solution avec un champs me semble bien, je vais essayer de voir comment intégrer la condition

    #63297
    romain05
    Participant

    Bonjour Bebarth,
    J’y suis arrivé, mais j’ai dû faire deux boutons.
    Encore, merci

    #63298
    bebarth
    Maître des clés

    …et pourquoi 2 boutons ?
    @+
    :bonjour:

    #63299
    romain05
    Participant

    Parce que au départ dans un seul bouton, je voulais supprimer les 3 dernières pages et remplacer la première des trois ( car celle-ci est signée par les clients pour l’état des lieux d’entrée), mais si l’on veut réutiliser le même document par la suite, c’est le seul moyen que j’ai trouvé pour supprimer la signature des clients.
    Jusque l’à tout marchait bien. Mais si l’utilisateur recliquait sur le bouton, dans ce cas ce même formulaire n’apparaissait plus.
    Je ne sais pas si ma réponse est claire, c’est vrai que sans le fichier ce n’est pas évident.

    Du coup j’ai fait un bouton qui supprime et remplace la page de signature, et un bouton qui supprime les deux dernières pages.

    #63300
    romain05
    Participant

    Bonjour à vous,

    Je me permets de revenir vers vous afin de peaufiner mon fichier PDF.
    Grâce à vous, celui-ci est vraiment utile à ma société car il nous permet de réaliser des états des lieux d’entrée et de sortie très simplement.

    Cependant, je me heurte encore à un problème.

    Dans un premier temps, nous préparons nos états des lieux sur le PC en créant par exemple une cuisine , une salle de bain et 4 pièces.
    Jusque là tout fonctionne.
    Par contre si je supprime une pièce (avec le bouton ” supprimer” en haut à droite”) et que je re créé une pièce alors ça va cloner la dernière page et ces deux dernières pas ne seront plus indépendantes.

    Auriez-vous une solution afin de toujours générer des pages indépendantes ?
    Je vous laisse mon fichier en PJ afin que vous puissiez tester.

    Par avance, merci

    #63301
    bebarth
    Maître des clés

    Bonjour,
    Je viens de télécharger ton fichier pour faire un essai et je ne comprends pas ton problème.
    J’avoue que je n’y ai pas passé une heure, mais lorsque j’ajoute, je supprime puis re-ajoute une pièce, la page à l’air de se placer au bon endroit.
    Je suppose donc que je n’ai pas compris le problème…
    @+
    :bonjour:

    #63302
    romain05
    Participant

    Bonjour Bebarth, merci d’avoir pris la peine de regarder.
    J’ai fait une petite vidéo pour illustrer le mieux possible mes propos :
    Au départ on voit que je créé deux pièces. ( En faisant la manip je découvre un nouveau bug, car une page ne se créé pas correctement alors que si je la recréé à ce moment ça marche ), aucune idée d’où peut venir ce bug …

    Ensuite on peut voir que si je supprime la première page et que je créé une nouvelle page, cette nouvelle page créée sera à l’identique de la page déjà existante. 
    Quand je vais dans Edition du formulaire on peut voir que les noms de champs sont strictement identiques.
    Par contre si au lieu de recréer une pièce, je créé une cuisine ou une SDB qui est un formulaire différent dans ce cas tout redevient normal …
    Par avance, merci

    #63303
    romain05
    Participant

    Pour le problème où il manquait des champs lors de la seconde création, c’est résolu, il y a dû y avoir un bug, j’ai recréé les champs et ça marche très bien.

    Si vous arrivez à trouver pourquoi lorsque une page est supprimé ça créé un doublon, le document ne devrait pas être trop mal par la suite :)

    #63304
    bebarth
    Maître des clés

    bonsoir,

    Si vous arrivez à trouver pourquoi lorsque une page est supprimé ça créé un doublon, le document ne devrait pas être trop mal par la suite :)

    Désolé, mais ça fait trois fois que je regarde la vidéo et que je teste ton fichier, et je ne trouve pas de doublon en faisant la manip de créer, supprimer et re-créer !
    Pour moi ça me parait correct… ou alors je n’ai vraiment pas compris.
    Par contre, les noms des champs sur les pages modèles pourraient être plus simples, cela éviterait de les compliquer encore plus quand on les duplique.
    @+
    :bonjour:

    #63305
    romain05
    Participant

    En fait la manip qui créé le bug est la suivante :

    – On créé deux pièces d’affilé en cliquant sur ” Ajouter une Pièce”
    – On nomme par exemple la première page ” Entrée” et la seconde page ” Salon”
    – On supprime la première page “Entrée” et on rajoute une nouvelle pièce en cliquant sur “Ajouter une Pièce”
    – On renomme cette nouvelle pièce “Chambre” par exemple, et là les deux pages sont liés et chaque modification faite dans une est faite dans l’autre page.

    C’est juste mon dernier souci :(

    #63306
    Merlin
    Maître des clés

    Comment utilisez-vous cet état des lieux ?
    Avec un ordi portable, une tablette ou bien un mobile ?

    #63307
    romain05
    Participant

    Bonjour Merlin,

    L’état des lieux est préparé sur le PC, ensuite nous nous l’envoyons sur la tablette via google drive.
    Mais le bug se passe lors de la configuration sur le pc.
    Une fois le fichier préparé, la tablette sert juste pour pouvoir faire quelques modifications et faire signer le client.

    #63308
    Merlin
    Maître des clés

    Je te demandais ça parce-que j’étais curieux de connaitre le processus de travail, pour des raisons qui n’ont rien à voir.
    En ce qui concerne le bug je te laisse entre les mains de bebarth, je n’ai pas suivi le sujet.
    :joker:

    #63309
    bebarth
    Maître des clés

    bonjour,
    …et désolé car je n’ai pas beaucoup de temps à consacrer en ce moment !
    Des fois, un long discours vaut mieux qu’une vidéo sans les commentaires qui vont biens !
    Maintenant j’ai compris.
    Lorsque l’on rajoute des pages avec le paramètre bRename: true, le préfixe utilisé est le numéro de la page (…, P4 pour la page 4, P5 pour la page 5,…).
    Si tu supprimes la page 5 et que tu rajoutes une page, elle se rajoute en page 4. L’ancienne page 4 devient donc la page 5, mais le préfixe des champs ne change pas et reste donc P4 alors qu’il sera également P4 sur la nouvelle page créée. Les champs des pages 4 et 5 ont donc le même nom et sont donc liés (je suis clair ???).
    Il me semble que j’ai déjà traité ce problème. Je vais regarder si je retrouve cet exemple et reviens (j’espère aujourd’hui).
    @+
    :bonjour:

    #63310
    bebarth
    Maître des clés

    …en réalité, la nouvelle page ne se rajoute pas en page 4, mais avant les 3 dernières pages.
    Ce qui se passe ensuite reste identique à ce que j’ai dis précédemment.
    Le problème est que l’on ne peut pas modifier le nom d’un champ ! Il faut donc trouver une autre solution.
    On pourrait soit supprimer tous les champs de la page et les re-créer avec un nouveau nom de champ dont le préfixe correspond au numéro de page… ça me paraît un peu compliqué, mais à première vue je ne vois pas comment faire autrement !
    Si quelqu’un a une autre idée…
    @+
    :bonjour:

    #63311
    Merlin
    Maître des clés

    J’ai compris le problème, je n’y avais pas été confronté jusqu”ici mais je constate qu’il affecte plusieurs de mes documents créés sur ce principe.
    Pourtant il me semble bien que j’avais fait des documents avec possibilité de supprimer des pages… Je vais fouiner.

    #63312
    bebarth
    Maître des clés

    bonjour,
    je n’ai pas eu le temps de regarder et je ne pense pas que je le trouverai ce weekend (le temps).
    Je vais essayer en début de semaine prochaine…
    Si tu dois supprimer et rajouter des pièces, et ne le faire qu’une seule fois, je te conseille donc d’ajouter la nouvelle pièce avant de retirer l’autre. Le numéro indiqué par le préfixe des champs de cette nouvelle page sera forcément supérieur aux autres… mais ça ce n’est valable qu’une fois !
    @+
    :bonjour:

    #63313
    Merlin
    Maître des clés

    J’avais fait simple : grâce à un petit JavaScript le bouton “Supprimer cette page” ne s’affiche que sur la dernière page et ne supprime que la dernière page, donc quand on en re-génère une autre la numérotation des champs vient forcément se placer à la suite.

    C’était dans un document qui générait les pages à partir d’un seul modèle de page, je ne sais pas si ça peut fonctionner dans ton cas, mais a priori il suffirait d’appliquer ce principe à chaque modèle de page

    #63314
    bebarth
    Maître des clés

    bonsoir,

    J’avais fait simple : grâce à un petit JavaScript le bouton “Supprimer cette page” ne s’affiche que sur la dernière page et ne supprime que la dernière page, donc quand on en re-génère une autre la numérotation des champs vient forcément se placer à la suite.

    C’est effectivement une solution si on ne peut supprimer que la dernière page par modèle, sinon je proposerais de mettre en viariables toutes les valeurs des champs des pages modèles non supprimées, de supprimer toutes ces pages, de les ré-insérer  et de réintégrer les valeurs des champs.
    Par contre, pour faciliter le script, il serait bon de repenser les noms des champs et là, je ne sais pas ce qu’il est permis de faire (romain05 ???).
    @+
    :bonjour:

    #63315
    Merlin
    Maître des clés

    Juste une idée en l’air qui me vient à l’instant : et si on masquait lesdites pages au lieu de les supprimer ?

    #63316
    bebarth
    Maître des clés

    Ce serait une bonne idée, mais de mémoire on peut afficher/masque une page modèle, mais pas une page dupliquée !
    Me trompe-je ???  :geek:
    @+
    :bonjour:

    #63317
    Merlin
    Maître des clés

    Oui, c’est juste.
    :mur:

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