Réponses:
Curieusement, il existe des cas d'utilisation «légitimes» pour cela, notamment les personnes malvoyantes. Acrobat et d'autres lecteurs peuvent remplacer les couleurs pour l'affichage (par exemple Ctrl-I dans Evince et via le menu Accessibilité dans Acrobat Reader X) mais étrangement pas pour l'impression. Ce que vous pouvez faire, cependant, est d'utiliser le convertisseur pdf2ps de GhostScript (ou un faux pilote d'imprimante PS qui écrit simplement le fichier) pour obtenir un fichier postscript, puis éditez le fichier en mettant
{1 exch sub} settransfer
comme première ligne du fichier, puis en imprimant ce fichier PostScript. De cette façon, vous obtenez un rendu du document plus fidèle que si vous convertissiez le PDF en image et inversiez cela.
pdf2ps
et ps2pdf
je peux être en mesure d'exporter le pdf d'origine dans un fichier pdf inversé. Je suis simplement curieux de savoir ce que fait la ligne proposée et s'il est possible de "revenir" aux couleurs d'origine.
Il existe un moyen simple et technique .
La manière technique est que si Ghostscript est installé et que son .../bin
dossier est ajouté à votre PATH, vous devriez simplement être en mesure d'inverser les couleurs de votre PDF en appelant quelque chose qui ressemble à ce qui suit à partir de la ligne de commande:
gswin64 -o C:/outputfile.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f C:/inputfile.pdf
Notez que gswin64
(situé dans le .../bin
dossier) peut être appelé gswin32
si vous avez téléchargé la version 32 bits, ou autre chose entièrement si vous êtes sur un système * nix au lieu de Windows, et que vous devez évidemment remplacer C:/outputfile.pdf
et C:/inputfile.pdf
avec les chemins réels de votre fichier d'entrée et emplacement prévu du fichier de sortie. Veillez également à ce que, selon mon expérience, il puisse parfois y avoir quelques problèmes si vous avez des espaces dans vos répertoires de chemin, même si vous mettez des guillemets autour d'eux.
Il convient également de noter que certaines versions de Ghostscript peuvent échouer à ce sujet, sauf si vous placez la {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer
ligne dans un .ps
fichier séparé et ajoutez simplement le .ps
fichier à votre commande.
(Ceci est vraiment juste une version plus étoffée de Mateen Ulhaq
la réponse de ci-dessus)
Le moyen le plus simple est que si vous ne pouvez pas vous soucier de faire ce qui précède, vous pouvez utiliser le site Web InvertPDF.com qui fera tout cela (et un peu plus) pour vous. Il s'agit de mon propre site Web et je suis tombé sur ce fil pendant que j'essayais de le créer. J'espère bien que cette réponse facilitera la tâche à la prochaine personne essayant de réaliser une chose similaire ou de créer son propre script hors ligne.
Selon cette page , vous pourrez peut-être l'accomplir avec ImageMagick. Cependant, le PDF sera converti en images avant d'être inversé. Si la qualité n'est pas suffisante à cause de cela, vous devriez pouvoir ajuster le nombre DPI.
convert -density 300 -negate "input.pdf[1-999]" output.pdf
Remplacez-le 300
par le DPI souhaité et 1-999
par la plage de pages souhaitée.
REMARQUE : cette commande concerne une ancienne version d'ImageMagick et vous devrez vous assurer que les utilitaires hérités sont installés.
Dans Acrobat Reader X
Édition-> Préférences-> accessibilité Sélectionnez: Remplacer les couleurs du document Sélectionnez: Couleur personnalisée
Définissez les options restantes en fonction de vos préférences personnelles.
Remarque: Cela ne modifie pas le document, juste votre vue et leur impression.
Aucune des solutions précédemment publiées ne fonctionnait pour moi, j'ai donc écrit ce simple script bash. Cela dépend pdftk
etawk
. Copiez simplement le code dans un fichier et rendez-le exécutable. Ensuite, exécutez-le comme:
$ /path/to/this_script.sh /path/to/mypdf.pdf
Le script:
#!/bin/bash
pdftk "$1" output - uncompress | \
awk '
/^1 1 1 / {
sub(/1 1 1 /,"0 0 0 ",$0);
print;
next;
}
/^0 0 0 / {
sub(/0 0 0 /,"1 1 1 ",$0);
print;
next;
}
{ print }' | \
pdftk - output "${1/%.pdf/_inverted.pdf}" compress
Ce script fonctionne pour moi, mais votre kilométrage peut varier. En particulier, parfois, les couleurs sont répertoriées dans le formulaire 1.000 1.000 1.000
au lieu de 1 1 1
. Le script peut facilement être modifié au besoin. Si vous le souhaitez, des conversions de couleurs supplémentaires peuvent également être ajoutées.
Si vous voulez une échelle de gris plus agréable et que vous êtes prêt à convertir votre document en images, jetez-le dans un fichier .bat, puis faites simplement glisser votre PDF sur le fichier .bat.
"C:\Program Files\gs\gs9.20\bin\gswin64c" -o inverted.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f %1
convert -brightness-contrast 3,-18 -compress lzw -density 300 -colorspace Gray inverted.pdf output.pdf
Nécessite Ghostscript pour être installé pour la première commande (veuillez spécifier le chemin correct). Nécessite ImageMagick avec les utilitaires hérités à installer pour la deuxième commande.
Beaucoup avaient suggéré d'utiliser la méthode Édition-> Préférence-> Accessibilité mais malheureusement cela n'a pas fonctionné pour moi. Après avoir testé et joué aux paramètres PDF, j'ai réussi à obtenir ce que je voulais!
Cela devrait faire l'affaire!
Note importante!
Je suggère d'imprimer ce fichier au format PDF plutôt que directement. Surtout si vous avez l'intention d'imprimer plusieurs pages sur une seule page, car les espaces deviendront également noirs!
Enfin, si vous allez imprimer le document sous forme d'un autre PDF, sous Dimensionnement et gestion des pages , cliquez sur Ajuster et cochez les deux cases - " Choisissez le format de papier si nécessaire " et Utiliser un format de papier personnalisé si nécessaire . (Pour éviter les espaces blancs indésirables)
J'espère que cette aide!
L'utilisation d'ImageMagick a fonctionné pour moi, bien que le fichier de sortie soit environ 50 fois plus grand que celui d'entrée.
convert -density 300 -negate input_file.pdf output_file.pdf