web-dev-qa-db-fra.com

Est-il possible d'inverser le texte et les couleurs d'arrière-plan dans un PDF lors de l'impression?

J'ai un PDF existant avec un fond totalement noir et tout le texte est en blanc.

Existe-t-il un moyen d’imprimer le texte en noir et de ne pas imprimer du fond noir?

J'ai Bluebeam et Adobe PDF.

17
Ron

Curieusement, il existe des cas d'utilisation "légitimes", notamment des 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 

en tant que première ligne du fichier, puis en imprimant ce fichier PostScript. De cette façon, vous obtenez un rendu plus fidèle de la documentation que si vous convertissiez le PDF en une image et l'inversiez.

12
AlwaysLearning

Dans Acrobat Reader X

Édition-> Préférences-> Accessibilité Sélectionner: Remplacer les couleurs du document Sélectionner: Couleur personnalisée

Définissez les options restantes en fonction de vos préférences personnelles.

Remarque: cela ne modifie pas le document, mais seulement votre vue et la manière dont il est imprimé.

2
Bas

Il existe un moyen simple et un moyen technique .

Le moyen technique est le suivant: si vous avez Ghostscript installé et que son dossier .../bin est ajouté à votre PATH, vous devriez juste être capable d’inverser les couleurs de votre PDF en appelant la ligne de commande suivante:

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 dossier .../bin) peut s'appeler gswin32 si vous avez téléchargé la version 32 bits, ou autre chose si vous utilisez un système * nix au lieu de Windows, et vous devez évidemment remplacer C:/outputfile.pdf et C:/inputfile.pdf par les chemins réels de votre fichier d'entrée et l'emplacement prévu du fichier de sortie. Veillez également à ce que, selon mon expérience, il puisse parfois y avoir un problème si vous avez des espaces dans vos répertoires de chemins, même si vous les entourez de guillemets.

Il est également intéressant de noter que certaines versions de Ghostscript peuvent échouer si vous ne placez pas la ligne {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer dans un fichier .ps séparé et ajoutez simplement le fichier .ps à votre commande.

(Ceci est vraiment juste une version plus étoffée de la réponse de Mateen Ulhaq ci-dessus)

Le moyen le plus simple est que vous pouvez utiliser le site Web InvertPDF.com qui fera tout cela (plus un peu plus) pour vous. Ceci est mon propre site web, et je suis tombé sur ce fil alors que j'essayais de le construire. J'espère que cette réponse facilitera la tâche de la prochaine personne qui essaie de réaliser un objectif similaire ou de créer son propre script hors ligne.

2
Jack Crawford

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é ne suffit pas à cause de cela, vous devriez pouvoir ajuster le nombre de DPI.

convert -density 300 -negate "input.pdf[1-999]" output.pdf

Remplacez 300 par votre DPI souhaité et 1-999 par la plage de pages souhaitée.

NOTE: cette commande concerne une version antérieure de ImageMagick et vous devrez vous assurer que les utilitaires existants sont installés.

Legacy Utilities

2
bdr9

Aucune des solutions précédemment publiées ne fonctionnant pour moi, j’ai donc écrit ce script bash simple. Cela dépend de pdftk et awk. Il suffit de copier le code dans un fichier et de le rendre exécutable. Puis lancez le comme:

$ /path/to/this_script.sh /path/to/mypdf.pdf

Le scénario:

#!/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. Parfois, les couleurs sont listées sous la forme 1.000 1.000 1.000 au lieu de 1 1 1. Le script peut facilement être modifié si nécessaire. Si vous le souhaitez, des conversions de couleurs supplémentaires peuvent également être ajoutées.

1
John Cole

Si vous souhaitez obtenir une échelle de gris plus agréable et que la conversion du document en images vous convient, jetez-la 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 l'installation de Ghostscript pour la première commande (veuillez spécifier le chemin correct). Nécessite l'installation de ImageMagick avec les utilitaires existants pour la deuxième commande.

0
Mateen Ulhaq