Fonctionnement

L'idée est d'avoir un dossier dans lequel on peut placer les pdf couleurs que l'on souhaite traiter.

Un seul double-clic suffit ensuite à créer les versions noir&blanc.

Mise en place

Sous Windows

On vérifie si le programme ghostscript est déjà installé
(on le cherche dans ajout/suppression de programmes) Sinon, direction le site officiel https://ghostscript.com/ et sa page de téléchargements. Logiquement, on veut cette version Ghostscript for Windows (64 bit) Ghostscript AGPL Release On crée un dossier dédié à la fonction de grisage, par exemple C:\Scripts\Grisage de pdf On crée dans ce dossier un script qui contient le code suivant :

Sous Linux

On crée un dossier dédié à la fonction de grisage, par exemple /home/[votre nom d'utilisateur]/Scripts/pdf_grisage On crée dans ce dossier un script qui contient le code suivant : Version « naïve » à améliorer : celle-ci prend un document avec un nom spécifique
Nous voulons lister tous les documents pdf présents et modifier chacun d'eux

#!/bin/bash
find . -name "*.pdf" - exec gs -sOutputFile=GRIS_{} -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dNOPAUSE -dBATCH {} \; # Voici le fonctionnement détaillé # find trouver # . dans le dossier courant # "*.pdf" tous les fichiers qui se terminent par pdf # -exec et exécuter la commande # gs ghostscript # -sOutputFile= pour créer un fichier de sortie # {} qui porte le même nom que le fichier initial # _grisé.pdf en rajoutant "_grisé" à la fin # -sDEVICE=pdfwrite au format pdf # -sColorConversionStrategy=Gray en passant les couleurs en niveaux de gris # -dProcessColorModel=/DeviceGray semble inutile (récupère un groupe de paramètres présents dans le dictionnaire de ghostscript TODO : trouver comment lire le contenu de systemdict pour pouvoir expliquer cette ligne) # -dNOPAUSE sans pause ni popup de confirmation # -dBATCH en quittant ghostscript une fois la tâche effectuée # {} à partir du fichier pdf trouvé # \; pour chaque fichier trouvé

Usage

  1. Copier-coller les documents pdf en couleurs dans le dossier dédié.
  2. Exécuter le script avec un double-clic