Impression sous word (nombres d'impressions différentes en fonction de la page)

* Matthieu
Anonyme
Envoyé le 07/06/2021 à 13:04

Bonjour,

Je suis professeur des écoles et je fabrique des fichiers pdf pour mes séances de cours. Pour un cours, mon pdf fait 5 pages (une page par niveau dans la classe).
Je souhaiterais imprimer X fois la première page, Y fois la deuxième, Z fois la troisième et ainsi de suite. Pour le moment, je fais 5 impressions. Une impression par page. Puis automatisé mon impression et tout imprimer en un coup?? Merci.



Répondre à ce message

Bipbipcoyote Bipbipcoyote
3 438 contributions
Membre depuis le 06/03/2001
Envoyé le 08/06/2021 à 03:27 Modifié par Bipbipcoyote


Bonjour,
à tester

Récupérez le script vbs sur ce site

https://www.freesoftwareservers.com/display/FREES/Print+PDF+Via+Batch+-+AcroRd32.exe+Switches+-+Print+Specific+Pages

Remarque votre navigateur risque d'afficher une alerte de sécurité, comme je l'ai eue, mais passez outre et choisir afficher quand même. Le site n'a plus de certificat https, d'où alerte

Si j'ai bien compris le système, il faut avoir acrobat reader sur la machine
placer le script vbs dans un dossier tmp ainsi que le fichier pdf, et lancer la ligne de commande dans une console cmd

donc ceci
wscript "C:\tmp\pdf_print_sendkeys.vbs" "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" "C:\tmp\test.pdf" "2-3"
devrait imprimer les pages 2 et 3 d'un fichier nommé test.pdf

Vous pouvez alors placer plusieurs instructions wscript dans un fichier ayant une extension .bat ou .cmd
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions
Bipbipcoyote Bipbipcoyote
3 438 contributions
Membre depuis le 06/03/2001
Envoyé le 08/06/2021 à 12:31 Modifié par Bipbipcoyote


Bonjour,
Sous Word, charger le fichier pdf, sans doute le convertir
Ensuite, il faut utiliser le VBA. Exemple :
Sub Macro1()
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentWithMarkup, Copies:=3, Pages:="7-9", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub

Ceci imprime 3 copies des pages 7,8,9 du fichier ouvert dans Word
Vous pouvez recopier cette instruction en modifiant ces 2 paramètres dans par exemple Sub Macro2, Sub Macro3 (ou des noms de votre choix)
ensuite faire une procédure générale

Sub Impression()
Call macro1
Call macro2
'etc...
End Sub

Comment arrive-t-on à ce résultat, il faut afficher l'onglet "Développeur" via le menu Fichier - Options - Personnaliser le ruban... Lorsque cet onglet est en place, choisir la commande "enregistrer une macro" . Ensuite, lancer une impression suivant vos désidératas. Toutes les actions sont alors récupérées et codées automatiquement, lorsque l'impression est lancée, retour sur l'onglet Développeur et arrêter l'enregistrement de la macro.
En faisant ALT+F11 vous pouvez voir le code généré dans l'éditeur Visual Basic (VBE)

Pour des impressions ultérieures, quand toutes les impressions utiles sont codées et que la macro générale peut les appeler. On peut alors lancer la macro générale en utilisant les touches ALT+F8
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions

Participer à cette discussion

« Retour sur la liste des messages de ce forum