Donnez vie à vos documents numériques !
 

Imprimer des pages non contiguës ?

abracadabraPDF Forums PDF – Général Imprimer des pages non contiguës ?

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45402
    eclauquenjo
    Participant

    Bonjour,

    Pour imprimer les pages 1 à 3, j’utilise :

    Code:
    this.print(true, 1, 3);

    Mais comment imprimer les pages 1 et 3 ?

Affichage de 17 réponses de 1 à 17 (sur un total de 17)
  • Auteur
    Réponses
  • #60575
    Merlin
    Maître des clés

    Bonjour.

    Pour imprimer les pages 1 à 3, j’utilise :

    Code:
    this.print(true, 1, 3);

    Non, avec ce script tu imprimes les pages 2 à 4, parce-qu’en JavaScript le compte commence toujours à zéro.  :geek:

    Pour imprimer les pages 1 à 3 :

    Code:
    this.print(true, 0, 2);

    Qu’on peut également exprimer ainsi :

    Code:
    this.print({bUI: true, bShrinkToFit: true, nStart: 0, nEnd: 2});

    bUI : bring User Interface : afficher la boite de dialogue d’impression.
    bShrinkToFit : coche l’option “Réduire les pages hors format”

    Pour imprimer la page 1 et la page 3 c’est tout simple, il faut répéter l’instruction :

    Code:
    this.print(true, 0);
    this.print(true, 2);

    Ou :

    Code:
    this.print({bUI: true, bShrinkToFit: true, nStart: 0});
    this.print({bUI: true, bShrinkToFit: true, nStart: 2});
    #60576
    eclauquenjo
    Participant

    Bonjour Merlin, encore et toujours toi.

    J’avais pensé à répéter l’instruction. Mais cela ne me permet pas de faire du recto verso.
    Y a-t-il une instruction pour imprimer 2 pages non contiguës en recto verso.

    #60577
    Merlin
    Maître des clés

    Je ne crois pas, mais on peut ruser.
    C’est-à-dire créer un “Modèle” à partir de la page 2, parce-qu’on peut masquer-afficher une page modèle avec JavaScript.

    Ensuite avant d’envoyer l’impression :
    – il faut masquer la page 2-modèle : donc la page 3 devient la page 2, etc.,
    – imprimer les pages 1 et 2 (en fait la 3) en recto-verso,
    – et dé-masquer la page 2.

    :Smiley15:

    #60578
    eclauquenjo
    Participant

    Je confirme que c’est rusé. Même un peu trop pour moi.
    Je ne connais pas la notion de « modèle ». Comment le créer, le masquer et le démasquer ?

    #60579
    Merlin
    Maître des clés

    Quelle est ta version d’Acrobat Pro ?

    #60580
    eclauquenjo
    Participant

    Acrobat Pro DC

    #60581
    Merlin
    Maître des clés

    Tu cherches “modèle” dans le panneau de recherche des outils, qui va afficher “Modèles de pages”.
    Une fois le panneau des pages ouvert il faut sélectionner la page concernée, saisir un nom, et cliquer sur Ajouter.
    Par défaut un nouveau modèle de page est visible, il faut cliquer sur l’icône d’œil pour le masquer/afficher.

    Ensuite on utilise un script comme ceci pour l’impression :

    Code:
    this.getTemplate(“NOMduMODELE”).hidden = true;
    this.print({bUI: true, bShrinkToFit: true, nStart: 0, nEnd: 1});
    this.getTemplate(“NOMduMODELE”).hidden = false;

    Sans oublier de sélectionner “Recto-verso” dans les Propriétés du document : Avancées : Mode recto-verso.

    #60582
    eclauquenjo
    Participant

    Cela fonctionne très bien à la première impression. Le problème est que les “modèles” lors du hidden=false, réapparaisse a la fin de mon document. Du coup, les impressions suivantes sont décalées.
    Comment faire “réapparaitre” les pages à leur position initiale ?

    #60583
    Merlin
    Maître des clés

    Non, rien ne permet de déterminer l’emplacement de la page réapparue.
    A priori je dirais qu’il faudrait créer un modèle pour chacune des pages suivantes (c’est JavaScriptable), les masquer après l’impression, et faire réapparaitre tous les modèles dans l’ordre.
    Mais ça risque de devenir inutilement compliqué… :camenerve:

    #60584
    eclauquenjo
    Participant

    En l’état, cela règle déjà pas mal mon souci. Je ne veux pas créer inutilement d’usine à gaz. Dans la mesure où mon document ne doit être imprimé qu’une fois par ouverture, je vais me contenter de bloquer son enregistrement.

    Merci Merlin

    #60585
    Merlin
    Maître des clés

    je vais me contenter de bloquer son enregistrement.

    Comment vas tu faire ?

    #60586
    eclauquenjo
    Participant

    Dans propriété du fichier/lecture seule.

    Pour revenir au code, il fonctionne bien avec Acrobat Pro DC. Mais pas du tous avec Acrobat Reader DC 2015.010.20060.
    Y a-t-il une manipulation à réaliser ou ce code n’est pas compatible avec Reader ?

    #60587
    Merlin
    Maître des clés

    La documentation ne mentionne aucune restriction d’utilisation avec Reader…
    Ça devrait fonctionner. :Euuuh:

    #60588
    bebarth
    Maître des clés

    bonjour,
    comme on dit, j’arrive un peu après la bataille… mais voici ce que je propose : inverser les pages 2 et 3, imprimer les pages 1 à 2 puis remettre les pages 2 et 3 dans le bon ordre.
    je ne sais pas si les pages sont réellement inversées ou si c’est juste une indexation des pages (Merlin ???) mais l’action s’exécute très rapidement même sur un  document avec beaucoup de pages !
    …plus l’alerte d’impression pour n’imprimer qu’une fois.
    @+
    :bonjour:

    if (impression == “”)
    {
    this.movePage(2,0);
    this.print(false,0,1);
    this.movePage(2,0);
    var impression = 1;
    }
    else app.alert(“Les pages 1 et 3 ont déjà été imprimées.”,3);

    #60589
    Merlin
    Maître des clés

    comme on dit, j’arrive un peu après la bataille…

    Vieux motard que jamais !
    Excellente idée, je n’y avais pas pensé.

    #60590
    eclauquenjo
    Participant

    Bonjour bebarth et Merlin,

    Ta solution, bebarth, est simple et efficace . Malheureusement, elle ne fonctionne pas avec Acrobat Reader.
    Jusqu’a this.print(), tous fonctionnent, mais plus rien à partir de this.movePage(). Il n’y a aucun message d’erreur de la part de reader.  :mur:

    #60591
    bebarth
    Maître des clés

    bonsoir,
    Effectivement, movePage n’est pas autorisé avec Adobe Reader…
    Dans le tableau de la capture d’écran, le X signifie : The property or method is not allowed in Adobe Reader but is available in Acrobat Pro and Acrobat Standard.
    J’écris la plupart du temps des scripts pour une utilisation perso avec Acrobat Pro aussi j ‘ai souvent tendance à oublier de vérifier !
    Désolé, je vais réfléchir pour une éventuelle solution.
    @+
    :bonjour:

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