Donnez vie à vos documents numériques !
 

shauko

Toutes mes réponses sur les forums

Affichage de 13 réponses de 1 à 13 (sur un total de 13)
  • Auteur
    Réponses
  • en réponse à : Supprimer une page à partir d’un bouton. – RÉPONDU #54604
    shauko
    Membre

    Tout a l’air tellement simple quand tu réponds comme cela :)

    Je te remercie beaucoup.

    en réponse à : Supprimer une page à partir d’un bouton. – RÉPONDU #54602
    shauko
    Membre

    Bonjour à tous,

    Je ne sais pas si je dois créer un nouveau message ou non, sachant que ma question est une simple précision sur ce qui a été dit plus bas par Cri-cri :

    Tu peux maintenant créer ton script comme tu le souhaites, avec par exemple :
    – demander à l’utilisateur les numéros de pages de début et de fin de suppression
    – utiliser le numéro de page courant pour la suppression
    – utiliser la sélection de pages à supprimer
    – etc…

    En gras, le passage qui m’intéresse. J’ai bien vu d’autres topics où sont traités des plages de pages : donc nStart: x  nEnd : x
    mais je n’arrive pas après un bon moment de recherche à mettre le doigt sur comment exprimer seulement la page en cours ?
    Ce que je souhaite donc au final est (je pense) tout simple, quel code dans mon bouton pour qu’il supprime tout bêtement la page actuelle où se trouve le bouton svp ?

    Merci d’avance.

    (P.S : si vous souhaitez que je crée un nouveau message, je comprendrais bien entendu)

    shauko
    Membre

    Ouhlà j’ai du boulot :)

    Alors le temps de potasser tout ça et je reviens donner mes impressions et j’en suis déjà sûr mes plus vifs remerciements ! ;)
    (somme toute déjà bien mérités, c’est vraiment sympa le temps que vous accordez à nos soucis de noobs du javascript lol)

    shauko
    Membre

    Alors pour te montrer que j’écoute attentivement et que je suis lol, j’ai joint un exemple de ce que tu m’indiques.

    C’est fonctionnel et je comprends bien l’intérêt de maintenance et de chargement de page. Vu que j’ai beaucoup de champs dans mon fichier je vais utiliser cette façon de procéder, ce sera toujours un plus.

    Mais ceci dit, il y a tout de même le passage laborieux et obligatoire de paramétrer les champs un à un si je ne m’abuse (ici de la “colonne calcul” dans mon exemple et imaginons que j’en ai 50 lignes comme ça), et donc même avec une fonction et des variables, on ne peut paramétrer directement et sur une même feuille de script l’ensemble des champs. Histoire de gagner beaucoup de temps et d’avoir tout sous les yeux. Me trompe-je ? :p

    Et si tu peux m’expliquer en 2 mots ceci stp, je n’ai pas bien saisi :

    … c’est pour ça que je préfère l’action “champ désactivé” quand c’est possible.

    shauko
    Membre

    Bonjour,

    Merci de ce retour Merlin.
    Bon aie aie, donc je ne peux à priori pas scripter sur un même bloc quel qu’il soit tous mes champs en une belle prose de code, c’est embêtant.

    Je vois effectivement de quoi peut relever la fonction et une variable, malheureusement je pense qu’on rentre là dans le niveau supérieur de script et je ne maîtrise absolument pas lol.
    Ceci dit si je comprends bien, en utilisant une fonction et une variable je pourrais donc utiliser un seul et même code pour tous mes champs ?

    shauko
    Membre

    Des réponses claires et complètes, tu m’as comblé lol.

    Un grand merci, et bravo pour votre implication dans cette quête du PDF pour tous ! ;)

    P.S : je vais pouvoir tenter de développer mon fichier de travail maintenant, si jamais je coince je me permettrai de poursuivre ici si cela ne pose pas de pb.

    shauko
    Membre

    aah super merci :)

    j’ai tourné autour du pot pendant un moment aujourd’hui, je n’étais pas loin ! mais pas loin c’est loin d’être bon ^^…

    Pour les quantités, je n’ai pas besoin théoriquement d’aller dans les négatifs, et dans l’absolu non il n’y aurait pas de max car je vais en fait changer le pas des clics (j’ai donné un exemple simple de +1,2,3) pour ne pas embrouiller, et il est possible que je doive monter jusqu’à un bon millier. C’est pour de la gestion documentaire quotidienne. On les commande par 25, et parfois jusqu’à 500 en une fois.

    Je te remercie beaucoup, je vais maintenant pouvoir compléter avec d’autres champs avec des calculs relativement simples (genre multiplier les quantités par des tarifs pour voir où on en est au niveau budget, et répartir tout ça sur plusieurs agences, d’où l’utilité des flèches vertes).

    A tout hasard, j’ai cherché aussi sans mettre le doigt dessus, connaitriez-vous une source avec ce genre de script pour les opérations matheuses basiques : du genre je multiplie le champ 1 par le champ 2, ou en multiplier plusieurs entre eux avec des parenthèses, etc …(ou me briefer très rapidement :p) l’idée c’est que je préfère coder tout ça que d’utiliser les champs de contrôle dans les propriétés des champs. Je ne sais pas si suis bien clair ^^. c’est que cela doit être tellement basique que je n’ai pas trouvé bcp de références précises dans les sujets du fofo.

    shauko
    Membre

    Je suis bien sous windows.

    Et bien que je sois moi-même sous Acrobat Pro, mais collègues n’ont que le Reader, aussi je crois bien que pour l’impression PDF en une fois c’est râpé, plus qu’à bien leur faire intégrer le maniement du “-” et “;”.

    Merci en tout cas du temps que vous avez passé Merlin et toi sur mes questions.

    shauko
    Membre

    Bonjour Alex, et merci beaucoup de te pencher sur mon petit challenge lol.

    Pour avoir parcouru assez longuement le forum, je sais que tu arrives souvent à sortir une formule magique de derrière les fagots !

    J’ai commencé à tester ce que tu proposes et on va dans le bon sens c’est super, cependant j’ai quelques remarques à soumettre à ta réflexion :

    – lorsque je sélectionne une imprimante, ce choix n’est pas pris en compte dans la Boite de dialogue qui s’ouvre. L’imprimante proposée reste celle utilisée en dernier, quelle soit la sélection que l’on fait donc

    – pour l’impression papier, cela fonctionne bien : j’imprime mes séquences de pages à la suite (ou une séquence/puis une page/puis une autre séquence/etc..), et je me retrouve bien in fine avec les pages que je souhaitais imprimer, mais pour ce qui est de l’impression en PDF, les séquences imposées par le script “découpent” le pdf en plusieurs fois. On se retrouve donc à la fin avec par exemple 3 pdf distincts qu’il faudrait ensuite fusionner. Ne peut-on pas via le script demander une séquence sans que cela soit interprété comme des impressions distinctes ?
    Une autre façon de poser la question : n’y a-t-il pas un autre terme (ou une autre façon de procéder) que “nStart” and “nEnd” que l’on peut utiliser, qui viendrait commander le “;” (point-virgule) quand on demande une liste de pages à imprimer dans la boite de dialogue ?

    Merci encore en tout cas !

    shauko
    Membre

    Je me permets un petit up d’appel à l’aide. Ce n’est pas malvenu j’espère ?

    Les schémas dans ma dernière réponse clarifient ma demande (du moins c’est leur but lol). Et je serais vraiment content de pouvoir trouver une solution à mon soucis  :mur:

    Merci.  :priere:

    shauko
    Membre

    Alors ce sont donc mes collègues qui réalisent les propos qui décideront des séquences à imprimer, en fonction des pages qui ont été utilisées ou non.

    C’est pour cela que la 2ème méthode (liste de cases à cocher) serait à mon sens la plus appropriée (ils cochent les pages à imprimer et hop). Mais il faut pour cela que je sache comment remplacer l’utilisation de l’imprimante par défaut par celle virtuelle (ou ouvrir la boite de dialogue avec la séquence prise en compte pour pouvoir choisir l’imprimante, ce serait la solution optimale).

    A défaut de pouvoir avoir une seule liste de cases cochées, et le choix de l’imprimante, j’aurai (dans mon idée donc) 2 listes en colonnes , avec 2 boutons “maitres” “impression” en haut de chaque.
    Une 1ère colonne de cases à cocher avec les pages pour l’impression papier (pour ça le script du 2ème exemple que j’ai montré dans mon 1er message fonctionne déjà parfaitement.  Et une 2ème colonne donc identique, mais avec l’imprimante virtuelle en lieu et place de celle par défaut (donc petite modification du script).
    J’ai tenté plusieurs changements mais ça ne veut pas me lancer l’imprimante virtuelle, ça me lance toujours directement l’imprimante papier.

    Cette fois-ci, je joins un schéma de ce que j’ai en tête, j’aurai du démarrer par là car un dessin vaut mieux qu’un long discours, c’est bien connu !! :)

    L’option 3 étant je pense la plus efficace, si on y arrive c’est ma tournée !! :)

    (mais je me contenterai de l’une des 3 lol)

    P.S : j’ai réussi à avoir ma liste d’imprimantes avec la manip sur la console, merci :p

    [attachment deleted by admin]

    shauko
    Membre

    Aie aie alors décidément, rien ne va dans mon sens … j’espère ne pas user ta patience.

    Car :

    1. malgré les réglages, j’ai toujours la même chose au niveau de la console

    2. c’est étrange car pour avoir essayé, la console s’ouvre bien en mettant true, et elle prend bien en compte l’étendue de pages définies par start et end que l’on compte imprimer (mais ça ne m’aide pas pour ma question principale qui est “comment couper une séquences pour exclure des pages ?”

    3. c’est gentil de me le dire, mais autant je suis une nouille en scripts autant ça je le savais :)  le hic pour moi c’est que je veux simplifier au max la tâche de mes collaborateurs. je leur ai expliqué comment faire avec les “-” et les “;” mais il s’avère que chaque proposition que l’on fait est différente de l’autre, que le service commercial les enchaîne pas mal, et que ce ne sont pas des foudres de guerre en informatique donc je ne dois pas trop leur en demander (avec tout le respect que j’ai pour eux lol). Et aussi c’est pour leur faire gagner du temps, éviter les erreurs (qui arriveront souvent, et la frustration liée avec) et gymnastique intellectuelle à maintes reprises, etc …

    D’où ma volonté de leur proposer des boutons (ou une liste de pages à cocher), et que les pages déterminées par un script s’impriment au choix sur l’imprimante papier, ou sur l’imprimante virtuelle pdf ….

    J’essaie d’être clair car je sais ma question pinailleuse et se jouant à un détail près, et j’espère vraiment l’être ….. 

    shauko
    Membre

    Merci de te pencher sur mon cas.

    1.
    this.print({bUI: true, nStart: 0, nEnd: 6});
    this.print(false,0,6);

    La différence entre ces deux lignes de code c’est true et false.
    true : la boite de dialogue d’impression s’affiche.
    false : la boite de dialogue d’impression ne s’affiche pas.
    Les intitulés en bleu sont facultatifs, les accolades ne servent que s’il y a les intitulés. Si on ne met pas les intitulés il faut impérativement renseigner les 3 paramètres dans l’ordre.

    Alors pour le true et false, j’avais effectivement compris que cela appelait ou non la boite dialogue (je ne savais pour les 2 modes d’écriture par contre).
    Toutefois, ce que je cherche à savoir, c’est quelle écriture il faut ajouter à cela pour “couper” la séquence, à savoir par exemple si je veux de la page “1 à 3″,” pas la page 4″, puis “la page 5”, “pas la page 6”, et “les pages 7 et 8”. Le tout dans une même accolade, ou dans les mêmes parenthèses. Car je me suis rendu compte qu’en le faisant en répétant la commande comme ci-dessous par exemple :

    this.print(true,0,2);
    this.print(true,4,4);
    this.print(true,6,7);

    ça aura pour effet de lancer 3 fois la boite dialogue, et si on crée un pdf via l’imprimante virtuelle, ça lance plusieurs fois la virtualisation et on se retrouve donc avec autant de pdf créés que de lignes écrites.

    2.
    Colle ce code dans la Console (crtl-J ou cmd-J) après y avoir effacé le texte par défaut, sélectionne le, et appuie sur la touche Entrée (je dis bien Entrée (Enter) et non pas Retour (Return)).

    var l = app.printerNames.length
    for ( var i = 0; i < l; i++)
    console.println(“(” + (i+1) + “) ” + app.printerNames);

    Ca te donnera la liste et le nom des imprimantes disponibles, et donc la syntaxe exacte du nom d’imprimante à utiliser dans le script.

    Hum, j’ai testé avec tous les boutons Entrée et return lol, mais voilà pour seule réponse ce que dit la console :
    Avec Entrée : rien du tout

    Avec return :
    “ReferenceError: i is not defined
    1:Console:Exec
    undefined”
    (mais donc c’est ptet normal au vu de tes indications)

    Ai-je bien tout répondu ?
    :Smiley01:

    Pas encore complètement ^^  … mais au moins tu essaies de me venir en aide, et je t’en remercie beaucoup !
    Je coince sur ce “petit” soucis depuis plusieurs jours maintenant, et ça m’irrite d’autant plus que j’imagine la solution assez “simple” ou évidente pour qqu’un qui s’y connaîtrait mieux que moi (j’espère que cela sera le cas lol).

Affichage de 13 réponses de 1 à 13 (sur un total de 13)