Donnez vie à vos documents numériques !
 

Lancer l’impression page après page

abracadabraPDF Forums PDF – Général Lancer l’impression page après page

Étiqueté : 

  • Créateur
    Sujet
  • #72674
    dodo
    Participant

    Bonjour,

    Je fais appel à vous pour m’aider à trouver une astuce pour imprimer toutes les pages d’un fichier en lançant les impressions page après page.

    En effet, j’ai un souci d’impression avec une imprimante thermique qui ne parvient pas à imprimer lorsque je lance l’impression d’un fichier dans sa totalité. Je suis obligé de lancer l’impression page après page. Je n’ai rien trouvé au niveau de l’imprimante qui pourrait résoudre ce problème et c’est pourquoi je cherche à palier à ça directement sur Acrobat.

    Il faudrait donc que je puisse lancer les impressions page après page comme si je faisais un Ctrl+p en indiquant page 1 (et en sélectionnant ma bonne imprimante pour la première impression, pas celle par défaut) puis Ctrl+p en indiquant page 2 et ainsi de suite. C’est cette solution que j’utilise actuellement mais qui prend beaucoup de temps quand le fichier comporte 20 pages.

    Je n’ai pas trouvé d’astuce permettant cette manipulation mais il y a peut-être quelque-chose à faire avec un script que je lancerai via les “actions”.

    Avez-vous des idées ? Il y a peut-être une solution toute simple mais je ne trouve rien.

    Merci d’avance,

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

    bonjour,

    avec Acrobat Pro ou Reader ?

    je n’ai pas d’ordinateur avec moi cette semaine mais regarde la méthode « print » de l’api référence…

    @+
    😎

    #72676
    dodo
    Participant

    Il s’agit bien de Acrobat Pro DC.

    Ce n’est pas urgent. Ça fait des mois que je fonctionne avec des ctrl+p successifs. Je ne savais même pas qu’il existait des API pour Acrobat. Je vais déjà chercher de ce côté pour voir si je trouve quelque-chose. Merci à vous

    #72677
    Merlin
    Maître des clés

    Bonjour

     

    Essayez ça dans la Console JS d’Acrobat Pro, ou en Action :

    for (var z=0; z<this.numPages; z++) {this.print(bUI: false, nStart: z, nEnd: z);}

     

    #72682
    dodo
    Participant

    Bonjour et merci.
    Je viens de faire un essai avec le code et ça fonctionne même si j’ai un peu galéré (je n’y connais rien en javascript). Il y a une petite coquille dans le code que j’ai tout de même réussi à corriger grâce à d’autres posts dans ce forum (manquait { et } dans les paramètre de print) :

    for (var z=0; z<this.numPages; z++) {this.print({bUI: false, nStart: z, nEnd: z});}

    Ça fonctionne bien dans la mesure où ça imprime chaque page l’une après l’autre comme voulu mais (il y a un mais) : Est-il possible de forcer la sélection de l’imprimante sans pour autant afficher la boite de dialogue (bUI: false) ? En effet, mon imprimante thermique n’est pas mon imprimante par défaut et je ne peux la sélectionner par défaut.

    #72684
    dodo
    Participant

    J’ai trouvé des trucs du genre :

    pp=this.getPrintParams();
    pp.printerName= "Nom imprimante"; // nom de l’imprimante
    pp.NumCopies=1; // nombre d’exemplaires
    pp.interactive=pp.constants.interactionLevel.automatic;
    this.print(pp);

    Mais ça ne fonctionne pas. Ca lance toujours l’impression sur mon imprimante par défaut (et forcément avec ce code, ça lance le tout en une seule fois).

    #72688
    dodo
    Participant

    J’ai encore un peu avancé.

    Cette fois j’arrive bien à modifier mon imprimante. Ce devait être une erreur de syntaxe en fait :

    var pp = this.getPrintParams();
    pp.printerName = 'Nom imprimante';
    for (var z=0; z<this.numPages; z++) {this.print({bUI: true, nStart: z, nEnd: z});}

    Par contre j’ai encore un souci: je ne parviens pas à forcer le dimensionnement de la page sur “Ajuster”. A priori je suis censé mettre ce code (juste avant la ligne print) :

    pp.pageHandling = pp.constants.handling.fit; // ajuster au papier
    Mais il reste sur “Taille réelle” au lieu de “Ajuster”.

     

    Et je rencontre un autre souci : ça fonctionne sur un PC mais pas sur l’autre… (mais ça je vais devoir trouver pourquoi)

    #72689
    bebarth
    Maître des clés

    …pas besoin d’indiquer nEnd si on n’imprime qu’une seule page.

    @+

    😎

    #72691
    Merlin
    Maître des clés

    Ce script fonctionne, il faut remplacer “Adobe PDF” par le nom exact de l’imprimante :

     

    for (var z=0; z<this.numPages; z++) {
    var pp = this.getPrintParams();
    pp.interactive = pp.constants.interactionLevel.automatic;
    pp.pageHandling = pp.constants.handling.fit;
    pp.printerName = "Adobe PDF";
    pp.printRange = [[z,z]];
    this.print(pp);
    }

    #72692
    Merlin
    Maître des clés

    Il faut utiliser ce script dans la Console pour connaître le nom exact des imprimantes :

     

    var nImp = app.printerNames.length
    for ( var i = 0; i < nImp; i++)
    console.println("(" + (i+1) + ") " + app.printerNames);

    #72693
    Merlin
    Maître des clés

    “Il y a une petite coquille dans le code”

    1000 excuses, je ne l’avais pas testé.

    🙃

    #72696
    dodo
    Participant

    Merci beaucoup. Le dernier script fonctionne à merveille. Je commençais à désespérer car le fonctionnement était finalement très aléatoire (j’avais réussi à modifier mon imprimante par défaut puis ça ne fonctionnait de nouveau plus).

    Si je comprends bien il faut utiliser printRange au lieu de spécifier par la suite les paramètres des numéros de page sans quoi printerName ne peut être utilisé.

    Pas besoin de t’excuser, d’autant que ça m’a permis de chercher d’où provenait l’erreur et j’ai encore appris des choses grâce à ça. Je me débrouille plutôt bien en VisualBasic mais javascript c’est décidément vraiment pas ma tasse de thé.

    Si je peux me permettre : où peut-on trouver de la documentation sur les différentes fonctions et leurs paramètres (comme par exemple getPrintParams et pageHandling, printerName) ? Je ne trouve que des forums qui en parlent.

    #72697
    Merlin
    Maître des clés
    #72698
    dodo
    Participant

    Merci. Je n’ai pas retrouvé la doc sur le site d’Adobe (c’est d’ailleurs sur cette page que j’ai cherché hier), mais grâce au nom de fichier je l’ai retrouvée directement sur Google.

    Un grand merci à vous tous

    #72699
    Merlin
    Maître des clés
Affichage de 14 réponses de 1 à 14 (sur un total de 14)
  • Vous devez être connecté pour répondre à ce sujet.