abracadabraPDF › Forums › PDF – Général › Imprimer des pages non contiguës ?
- Ce sujet est vide.
-
CréateurSujet
-
30 avril 2016 à 20:30 #45402eclauquenjoParticipant
Bonjour,
Pour imprimer les pages 1 à 3, j’utilise :
Code:this.print(true, 1, 3);Mais comment imprimer les pages 1 et 3 ?
-
CréateurSujet
-
AuteurRéponses
-
1 mai 2016 à 07:43 #60575MerlinMaî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});1 mai 2016 à 14:09 #60576eclauquenjoParticipantBonjour 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.1 mai 2016 à 14:40 #60577MerlinMaître des clésJe 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:
1 mai 2016 à 14:49 #60578eclauquenjoParticipantJe 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 ?1 mai 2016 à 15:40 #60579MerlinMaître des clésQuelle est ta version d’Acrobat Pro ?
1 mai 2016 à 16:40 #60580eclauquenjoParticipantAcrobat Pro DC
1 mai 2016 à 16:51 #60581MerlinMaître des clésTu 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.
1 mai 2016 à 17:28 #60582eclauquenjoParticipantCela 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 ?1 mai 2016 à 17:46 #60583MerlinMaître des clésNon, 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:1 mai 2016 à 18:53 #60584eclauquenjoParticipantEn 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
2 mai 2016 à 09:44 #60585MerlinMaître des clésje vais me contenter de bloquer son enregistrement.
Comment vas tu faire ?
2 mai 2016 à 18:14 #60586eclauquenjoParticipantDans 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 ?2 mai 2016 à 22:04 #60587MerlinMaître des clésLa documentation ne mentionne aucune restriction d’utilisation avec Reader…
Ça devrait fonctionner. :Euuuh:9 mai 2016 à 07:43 #60588bebarthMaître des clésbonjour,
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);9 mai 2016 à 08:13 #60589MerlinMaître des cléscomme on dit, j’arrive un peu après la bataille…
Vieux motard que jamais !
Excellente idée, je n’y avais pas pensé.11 juin 2016 à 18:39 #60590eclauquenjoParticipantBonjour 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:11 juin 2016 à 21:05 #60591bebarthMaître des clésbonsoir,
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: -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.