Wie ändere ich die PDF-Hintergrundfarbe?

26

Weiße Hintergrundfarbe schadet den Augen. Wie ändere ich die PDF-Hintergrundfarbe? Jetzt benutze ich evince 3.4.0 in Ubuntu 12.04 x64.

waterloo2005
quelle
Ich leide auch unter weißem Hintergrund und habe früher xcalib verwendet, aber derzeit verwende ich meistens KWin, das die Umkehrung der Farben für jedes Fenster separat anbietet. Das ist der Grund, warum ich auf den meisten Computern KDE verwende, da ich es aus der Box habe und es nur in den Einstellungen aktivieren muss.
Grzegorz Wierzowiecki
Ich schlage nur Problemumgehungen vor, aber Zathura ist ein weiterer (wirklich cooler) PDF-Viewer, und sein Hintergrund ist schwarz. Andernfalls können Sie Ihr globales Ubuntu-Design anpassen (z. B. das Design Ambiance von /usr/share/themes/Ambiancenach kopieren $HOME/.themes/und die Farbdefinitionen anpassen gtk.css). Leider weiß ich nicht, wo die spezifischen Variablen für evince sind, sodass alle Ihre Apps dann einen schwarzen XD-Hintergrund haben würden. Persönlich bin ich mit einem total dunklen Thema sowieso viel glücklicher, aber es ist Geschmackssache.
PlasmaBinturong

Antworten:

29

Ich bin sicher, dass Sie die Farbe invertieren können, aber ich bin nicht sicher, ob Sie eine andere Farbe Ihrer Wahl als Hintergrundfarbe verwenden können.

Die Farbe umkehren.

Gehe zu: Ansicht -> Umgekehrte Farben ( Ctrl+ I)

Hoffe das hilft.

devav2
quelle
1
Ich möchte die Farbe auf andere Farben wie Hellgrün zurücksetzen. Ich denke, dass dies für Entwickler von evince einfach zu implementieren ist.
Waterloo2005
1
Ja, das ist sehr gut möglich. Nach Ihrem Kommentar bin ich einfach durch den evince-Quellcode gegangen und habe diesen gefunden. ev-document-misc.c enthält den invertierten Farbabschnittif (inverted_colors) cairo_set_source_rgb (cr, 0, 0, 0); else . Wenn ich das ändere, denke ich, können wir die gewünschte Farbe erreichen, aber ich habe dies nicht kompiliert und getestet. Sie können Ihr Glück versuchen.
Devav2
Dann, wie man die Hintergrundfarbe in hellgrün ändert. Ich bin Neuling.
Waterloo2005
15

Ich kämpfe jetzt schon eine ganze Weile gegen dieses Problem. Die beste Lösung, die ich mir ausgedacht habe, ist die Verwendung des xcalibBefehls über zwei leicht zugängliche Anwendungsstarter in meiner Tool- / App-Leiste. Ich habe sie " Screen Mode " und " Paper Mode " genannt.

Mit Hilfe von xcalibkann ich zwei verschiedene Bildschirmkonfigurationen ohne Profile und sonstiges Aufblähen on-the-fly aktivieren. Beachten Sie, dass dies xcalibdie kleinste Softwareversion ist und keinen Speicherplatz beansprucht, da die Konfigurationen an den Anzeigeadapter übergeben und beendet werden. Sie können über die schwere Spezialsoftware wie Argyll + Dispcalgui etc. vergessen.

Zuerst installieren xcalibmit:

sudo apt-get install xcalib

Stellen Sie dann Ihre beiden Starter mit diesen Befehlen ein:

Um den "Papiermodus" einzustellen, verwenden Sie:

xcalib -red 1.7 1 64 -green 1.7 1 57 -blue 1.7 1 28 -alter

Um wieder in den "Bildschirmmodus" zurückzukehren, verwenden Sie:

xcalib -clear

Wie Sie wahrscheinlich feststellen können, passe ich die Parameter pro Kanal an und war bemüht, ein Kindle-ähnliches Ergebnis zu erzielen. Natürlich können und sollten Sie diese Ihren Vorlieben und Bildschirmen anpassen. Natürlich passt dies den Bildschirm insgesamt an, aber zumindest für mich war dies ein Segen für alle weißen IDEs. Es wird ein paar Minuten dauern, bis Sie sich daran gewöhnt haben, aber Sie werden nie zurückkehren. Es ist ein wahrer Eye-Saver!

Die Befehlsverwendung ist xcalib -ChannelName Gamma Brightness Contrastund sind alle durch ein einzelnes Leerzeichen getrennt. Der -alterleitet das Signal an den Adapter weiter. Die -clearSende ein „Clear“ Nachricht an den Adapter löschen alle Einstellungen wieder normal.

WICHTIGER TIPP : Um die Schwärze der Buchstaben nicht zu verlieren, behalten Sie die Helligkeit wie oben gezeigt bei 1. Spielen Sie nur mit Gamma und Kontrast. Gamma erzeugt ein dunkleres / helleres Ergebnis und das Spielen mit dem Kontrast zwischen den Kanälen passt die resultierende Farbe an.

Ein weiterer TIPP: Stellen Sie die Verknüpfung "Papiermodus" so ein, dass sie zuerst zurückgesetzt und dann die Farbe eingestellt wird (z. B. "xcalib -clear && xcalib -red 1,7 1 64 -green 1,7 1 57 -blue 1,7 1 28 -alter") Wenn Sie es versehentlich mehrmals verwenden, ändert sich die Anzeigefarbe nicht in Schwarz.

Ich hoffe, das wird vielen von Ihnen nützlich sein!

GRE2608
quelle
2
Da mir aufgefallen ist, dass mit dem 1,7-Gamma-Wert nur das Anti-Aliasing für Schriftarten aufgehoben werden soll (und auch die Tatsache, dass ich oben einige wirklich witzige Zahlen verwendet habe), wäre ein geeigneterer Befehl für den " xcalib -red 1.5 0 65 -green 1.5 0 60 -blue 1.5 0 25 -alter
Papiermodus
Zum Zeitpunkt des Schreibens ist xcalib nicht mit Wayland (Fenster-Renderer) kompatibel, da jeder Prozess nur innerhalb seines jeweiligen Fensters zeichnen darf.
Tijs Maas
4

Ich fand Okular als besseren PDF-Viewer. Sie können die Hintergrundfarbe und die Schriftfarbe von der grafischen Benutzeroberfläche in einen beliebigen Wert ändern. dh

Einstellung -> Okular konfigurieren -> Barrierefreiheit -> Farbe ändern

Stellen Sie zum Beispiel ein:

  • Dunkle Farbe als Schriftfarbe
  • Lichtfarbe als Hintergrundfarbe.

Ich hatte Okular Version 0.16.5

Adeel Raza Azeemi
quelle
3

Ändern Sie die Hintergrundfarbe von evince in die helle Gier und schützen Sie Ihre Augen

Konfigurieren Sie die Kompilierungsumgebung und die Downloadquelle

sudo apt source evince

Ändern Sie die Quelle in Ihre Farbe, z. B. Hellgrün (R: 199, G: 237, B: 204). Bearbeiten Sie die Funktion ev_document_misc_invert_surfacein Datei: libdocument/ev-document-misc.cin Zeile 467

Veränderung

cairo_set_operator (cr, CAIRO_OPERATOR_DIFFERENCE);
cairo_set_source_rgb (cr, 1., 1., 1.);

zu

cairo_set_operator (cr, CAIRO_OPERATOR_DARKEN);
cairo_set_source_rgb (cr, 0.8, 0.9098, 0.8117647);

Config und make und make install

cd evince
./configure --prefix=$YOUR-PLACE  --enable-nls --disable-scrollkeeper --disable-dbus --disable-debug --disable-tests --disable-nautilus --disable-thumbnailer --disable-previewer --disable-comics --without-keyring --without-gconf --without-gtk-unix-print
```

Dann mach, und ich bekomme den Fehler:

Making all in synctex
make[3]: Entering directory '/home/luopeng/Downloads/evince-3.28.4/cut-n-paste/synctex'
  CC       libsynctex_la-synctex_parser.lo
  CC       libsynctex_la-synctex_parser_utils.lo
synctex_parser_utils.c:106:29: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
        result += vfprintf(stderr, reason, arg);
                                   ^~~~~~
1 error generated.
Makefile:545: recipe for target 'libsynctex_la-synctex_parser_utils.lo' failed
make[3]: *** [libsynctex_la-synctex_parser_utils.lo] Error 1

Natürlich beheben Sie es durch:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
    result = fprintf(stderr,"SyncTeX ERROR: ");
    result += vfprintf(stderr, reason, arg);
    result += fprintf(stderr,"\n");
#pragma GCC diagnostic pop

In der Version von Ubuntu 18.04 habe ich verschiedene Fehler wie oben beschrieben gefunden und sie behoben, wobei das GCC ignoriert wurde. (Bitte fügen Sie # vor dem Pragma in den folgenden Code)

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
  the code where the errors occur
#pragma GCC diagnostic pop

Dann ändere die Konfiguration in /usr/share/applications/evince.desktop

change Exec=$YOUR-Evince-PLACE/bin/evince %U

Wenn Sie auf view-> Inverted Color klicken, ändert sich Ihre Hintergrundfarbe in hellgrün

Geniesse es!

luoares
quelle
2

Vielen Dank für Evans Einladung. Folgendes habe ich getan, um den hellgrünen Hintergrund in Evince 2.30.3 zu erzielen.

Wie in einem von mir vor einigen Jahren geposteten Thread ( https://mail.gnome.org/archives/evince-list/2011-November/msg00015.html ) erwähnt , habe ich den Quellcode von Zeile 327 auf 329 von libdocument / ersetzt. ev-document-misc.c mit folgendem Snippet:

// make sure that we just turn the near "white" back ground to light green
if ((245 <= p[0] && p[0] <= 255) &&
    (245 <= p[1] && p[1] <= 255) &&
    (245 <= p[2] && p[2] <= 255)) {
    p[0] = 204; /* cc */
    p[1] = 232; /* e8 */
    p[2] = 207; /* cf */
}

Beachten Sie, dass die Codeposition für verschiedene Versionen von Evince variieren kann.

Dann kompiliere Evince neu:

$ ./configure --prefix=/usr --enable-nls --disable-scrollkeeper --disable-dbus --disable-debug --disable-tests --disable-nautilus --disable-thumbnailer --disable-previewer --disable-comics --without-keyring --without-gconf --without-gtk-unix-print
$ make

Führen Sie nach dem Kompilieren NICHT make install aus , da dies möglicherweise die Gebietsschemaeinstellungen von Evince ändert. Sichern Sie einfach das ursprüngliche /usr/lib/libevdocument.so.2.0.0 und ersetzen Sie es manuell durch das geänderte libdocument / .libs / libevdocument.so.2.0.0 .

Starten Sie dann Evince neu, öffnen Sie eine PDF-Datei (oder ein anderes unterstütztes Format) und verwenden Sie die Option "Inverted Color", um die Hintergrundfarbe in hellgrün zu ändern.

Kann das hilfreich sein :)

user2023787
quelle
1
Es wäre nützlich, wenn Sie den Code um Ihr Snippet zeigen würden. Ansonsten ist es nicht klar, wie man den richtigen Ort findet, ohne zu viel Zeit zu investieren.
Elena
0

Ich versuche auch, die Hintergrundfarbe von evince zu ändern, aber bin gescheitert.

Möglicherweise ist eine andere Anwendung qpdfviewfür Sie hilfreich. Es kann alle PDF-Dokumente mit grünem Hintergrund, einschließlich der gescannten PDF-Dokumente, einfärben und tröstet Ihre Augen.

Leider funktioniert die von synaptic installierte Edition nicht, um die gescannten PDF-Dokumente einzufärben, aber eine mit PPA installierte Edition ist gut dafür. Führen Sie einfach die folgenden Befehle aus.

sudo apt-add-repository ppa:b-eltzner/qpdfview
sudo apt-get update
sudo apt-get install qpdfview

Sie müssen den Farbparameter ändern.

Und was gescannte PDF-Dokumente anbelangt, müssen Sie auf die Schaltfläche Ansicht - Komposition - Mit Papierfarbe abdunkeln klicken. Dies ist in Ordnung.

David Wei
quelle