Ist es möglich, Text- und Hintergrundfarben in einem PDF beim Drucken umzukehren?


18

Ich habe eine vorhandene PDF-Datei mit einem vollständig schwarzen Hintergrund und der gesamte Text ist weiß.

Gibt es eine Möglichkeit, den Text schwarz und den schwarzen Hintergrund überhaupt nicht zu drucken?

Ich habe Bluebeam und Adobe PDF.

Antworten:


12

Witzigerweise gibt es dafür "legitime" Anwendungsfälle, insbesondere für Menschen mit Sehbehinderung. Acrobat und andere Reader können Farben für die Anzeige überschreiben (z. B. Strg-I in Evince und über das Menü Eingabehilfen in Acrobat Reader X), aber seltsamerweise nicht zum Drucken. Sie können jedoch den pdf2ps-Konverter von GhostScript (oder einen gefälschten PS-Druckertreiber, der nur die Datei schreibt) verwenden, um eine Postscript-Datei zu erhalten, und dann die Datei durch Ablegen bearbeiten

{1 exch sub} settransfer 

als erste Zeile in der Datei und dann das Drucken der PostScript-Datei. Auf diese Weise erhalten Sie ein originalgetreueres Rendering des Dokuments als wenn Sie das PDF in ein Bild konvertieren und dieses invertieren würden.


1
Ich habe so etwas getan (unter Windows), indem ich einen PostScript-Druckertreiber installiert und ihn dann angewiesen habe, in eine Datei zu drucken, um die Ausgabe zu erfassen. Das gleiche Konzept sollte auf anderen Betriebssystemen funktionieren. Es ist zu beachten, dass PostScript-Dateien nur Textdateien sind, die mit den meisten Texteditoren bearbeitet werden können.
Martineau

Mit einer Kombination von pdf2psund ps2pdfkann ich das Original-PDF in eine invertierte PDF-Datei exportieren. Ich bin nur gespannt, was die vorgeschlagene Linie macht und ob es möglich ist, zu den ursprünglichen Farben zurückzukehren.
Tigerjack89

3

Es gibt einen einfachen und einen technischen Weg .

Die technische Möglichkeit besteht darin, dass Sie, wenn Sie Ghostscript installiert haben und den .../binOrdner zu Ihrem PFAD hinzugefügt haben, die Farben Ihrer PDF-Datei nur umkehren können, indem Sie über die Befehlszeile etwas aufrufen, das der folgenden ähnelt:

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

Beachten Sie, dass gswin64(in der sich .../binOrdner) aufgerufen werden kann , gswin32wenn Sie die 32-Bit - Version heruntergeladen haben , oder etwas ganz anderes , wenn Sie auf einem * nix - System sind anstelle von Windows, und dass Sie sollten offensichtlich ersetzen C:/outputfile.pdfund C:/inputfile.pdfden tatsächlichen Pfaden Ihrer Eingabedatei und vorgesehener Speicherort der Ausgabedatei. Achten Sie auch darauf, dass es meiner Erfahrung nach manchmal Probleme geben kann, wenn Ihre Pfadverzeichnisse Leerzeichen enthalten, selbst wenn Sie sie in Anführungszeichen setzen.

Beachten Sie auch, dass einige Versionen von Ghostscript möglicherweise fehlschlagen, es sei denn, Sie fügen die {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransferZeile in eine separate .psDatei ein und fügen die .psDatei Ihrem Befehl hinzu.

(Dies ist wirklich nur eine ausführlichere Version der Mateen Ulhaqobigen Antwort.)

Der einfache Weg ist, dass Sie die Website InvertPDF.com nutzen können, wenn Sie sich nicht die Mühe machen, eines der oben genannten Dinge zu tun (plus ein bisschen mehr). Dies ist meine eigene Website, und ich bin auf diesen Thread gestoßen, als ich versuchte, ihn zu erstellen. Ich hoffe sehr, dass diese Antwort es der nächsten Person erleichtert, etwas Ähnliches zu erreichen oder ein eigenes Offline-Skript zu erstellen.


2

Laut dieser Seite können Sie dies möglicherweise mit ImageMagick erreichen. Die PDF-Datei wird jedoch vor dem Invertieren in Bilder konvertiert . Wenn die Qualität aus diesem Grund nicht ausreicht, sollten Sie in der Lage sein, die DPI-Zahl anzupassen.

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

Ersetzen Sie 300mit Ihrem gewünschten DPI und 1-999mit Ihrem gewünschten Seitenbereich.

HINWEIS : Dieser Befehl gilt für eine ältere Version von ImageMagick. Sie müssen sicherstellen, dass ältere Dienstprogramme installiert sind.

Legacy Utilities


@ fixer1234 Danke, dass du mich darauf aufmerksam gemacht hast. Ich habe einen Link zu dieser Seite im Internetarchiv hinzugefügt.
BDR9

1

In Acrobat Reader X

Bearbeiten-> Einstellungen-> Eingabehilfen Auswählen: Dokumentfarben ersetzen Auswählen: Benutzerdefinierte Farbe

Stellen Sie die verbleibenden Optionen nach persönlichen Vorlieben ein.

Hinweis: Das Dokument wird dadurch nicht geändert, sondern nur Ihre Ansicht und die Art und Weise, wie es gedruckt wird.


Druckt nicht anders als das Original AFAICT
mike65535

1

Keine der zuvor veröffentlichten Lösungen hat für mich funktioniert, daher habe ich dieses einfache Bash-Skript geschrieben. Es kommt auf pdftkund an awk. Kopieren Sie einfach den Code in eine Datei und machen Sie sie ausführbar. Dann starte es wie folgt:

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

Das Drehbuch:

#!/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

Dieses Skript funktioniert für mich, aber Ihre Laufleistung kann variieren. Insbesondere werden manchmal die Farben in der Form 1.000 1.000 1.000anstelle von aufgelistet 1 1 1. Das Skript kann einfach nach Bedarf geändert werden. Falls gewünscht, können auch zusätzliche Farbkonvertierungen hinzugefügt werden.


0

Wenn Sie ein ansprechenderes Graustufenbild wünschen und Ihr Dokument problemlos in Bilder konvertieren können, werfen Sie es in eine .bat-Datei und ziehen Sie Ihre PDF-Datei einfach auf die .bat-Datei.

"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

Erfordert die Installation von Ghostscript für den ersten Befehl (bitte korrekten Pfad angeben). Erfordert die Installation von ImageMagick mit älteren Dienstprogrammen für den zweiten Befehl.


0

Viele hatten vorgeschlagen, die Methode Bearbeiten-> Einstellungen-> Eingabehilfen zu verwenden, aber leider hat dies bei mir nicht funktioniert. Nachdem ich die PDF-Einstellungen getestet und durchgespielt hatte, gelang es mir, das zu bekommen, was ich wollte!

  • Gehe zu Drucken (Strg + P)
  • Klicken Sie auf Erweiterte Einstellungen
  • Überprüfen Sie Einstellungen: Benutzerdefinierte
  • Klicken Sie auf Output from left panel
  • Wählen Sie unter Farbe die Option Zusammengesetztes Grau
  • Überprüfen Sie das Negieren Box
  • Klicken Sie auf OK

Dies sollte den Trick machen!

Wichtige Notiz!
Ich würde vorschlagen, diese Datei als PDF zu drucken, als direkt. Vor allem, wenn Sie mehrere Seiten auf einer Seite drucken möchten, da dadurch auch das Leerzeichen schwarz wird!

Wenn Sie das Dokument als andere PDF-Datei drucken möchten , klicken Sie unter Seitengröße und -handhabung auf Anpassen und aktivieren Sie die beiden Kontrollkästchen " Papiergröße bei Bedarf auswählen " und " Benutzerdefinierte Papiergröße bei Bedarf verwenden" . (Um unerwünschte Leerzeichen zu vermeiden)

Ich hoffe das hilft!


Dies ist spezifisch für Ihren Druckertreiber
Mark Jeronimus

-1

Die Verwendung von ImageMagick hat bei mir funktioniert, obwohl die Ausgabedatei etwa 50-mal größer ist als die Eingabedatei.

convert -density 300 -negate input_file.pdf output_file.pdf

Die Befehlszeile (in luinux) lautete: convert-density 300 -negate input_file.pdf output_file.pdf
Catchaca
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.