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

18

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

Existe-t-il un moyen d'obtenir le texte pour imprimer en noir et le fond noir pour ne pas imprimer du tout?

J'ai Bluebeam et Adobe PDF.

Ron
la source

Réponses:

12

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.

Toujours entrain d'apprendre
la source
1
J'ai fait quelque chose comme ça (sous Windows) en installant un pilote d'imprimante PostScript puis en lui disant d'imprimer dans un fichier pour capturer la sortie. Le même concept devrait fonctionner sur d'autres systèmes d'exploitation. Il convient de noter que les fichiers PostScript ne sont que des fichiers texte qui peuvent être modifiés avec la plupart des éditeurs de texte.
martineau
En utilisant une combinaison de pdf2pset ps2pdfje 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.
tigerjack89
3

Il existe un moyen simple et technique .

La manière technique est que si Ghostscript est installé et que son .../bindossier 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 .../bindossier) peut être appelé gswin32si 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.pdfet C:/inputfile.pdfavec 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} setcolortransferligne dans un .psfichier séparé et ajoutez simplement le .psfichier à votre commande.

(Ceci est vraiment juste une version plus étoffée de Mateen Ulhaqla 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.

Jack Crawford
la source
2

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 300par le DPI souhaité et 1-999par 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.

Utilitaires hérités

bdr9
la source
@ fixer1234 Merci d'avoir porté cela à mon attention. J'ai ajouté un lien vers cette page sur Internet Archive.
bdr9
1

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.

Bas
la source
N'imprime pas différemment de l'AFAICT d'origine
mike65535
1

Aucune des solutions précédemment publiées ne fonctionnait pour moi, j'ai donc écrit ce simple script bash. Cela dépend pdftketawk . 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.000au 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.

John Cole
la source
0

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.

Mateen Ulhaq
la source
0

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!

  • Aller à Imprimer (Ctrl + P)
  • Cliquez sur Paramètres avancés
  • Vérifier les paramètres: personnalisé
  • Cliquez sur Sortie dans le panneau de gauche
  • Sous Couleur: sélectionnez Composite Grey
  • Vérifiez le négatif case
  • Cliquez OK

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!

Xin Yi
la source
Ceci est spécifique à votre pilote d'imprimante
Mark Jeronimus
-1

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
Catchaca
la source
La ligne de commande (dans luinux) était: convert -density 300 -negate input_file.pdf output_file.pdf
Catchaca