Як змінити колір тла PDF в evince?


26

Білий колір фону - це шкода для очей. Як змінити колір тла PDF в evince? Зараз я використовую evince 3.4.0 в ubuntu 12.04 x64.


Я також страждаю від білого тла, і я раніше використовував xcalib, але в даний час я переважно ретранслятор на KWin, який пропонує інверсію кольорів для кожного вікна окремо. Ось чому я використовую на більшості машин KDE, оскільки у мене він є out_of_the_box, просто потрібно включити його в налаштуваннях.
Grzegorz Wierzowiecki

Я лише пропоную обхідні шляхи, але Затура - це ще один (дійсно класний) переглядач PDF, і його фон - чорний. В іншому випадку ви можете налаштувати свою глобальну тему Ubuntu (наприклад, скопіюйте тему Ambiance з /usr/share/themes/Ambianceу $HOME/.themes/та змініть визначення кольорів у gtk.css). На жаль, я не знаю, де є конкретні змінні для evince, тому всі ваші програми тоді мали б чорний фон XD. Особисто я все-таки набагато щасливіший із цілком темною темою, але це справа смаку.
PlasmaBinturong

Відповіді:


29

Я впевнений, що ви можете інвертувати колір, але я не впевнений, чи можете ви використовувати інший колір на ваш вибір як колір тла.

Інвертувати колір.

Перейти: Переглянути -> Перевернуті кольори ( Ctrl+ I)

Сподіваюся, це допомагає.


1
Я хочу змінити колір спини на інші, як світло-зелений. Я думаю, що це легко реалізувати для розробника evince.
waterloo2005

1
Так, це дуже можливо. Після Вашого коментаря я просто пройшов вихідний код evince і знайшов це. ev-document-misc.c містить перевернутий розділ кольорів if (inverted_colors) cairo_set_source_rgb (cr, 0, 0, 0); else. Отже, змінивши це, я думаю, що ми можемо досягти бажаного кольору, але я не скомпілював і не перевірив це. Ви можете спробувати свою удачу.
devav2

Тоді як змінити колір спини на світло-зелений. Я новачок.
waterloo2005

15

Я вже досить довго боюся з цим питанням. Найкраще рішення, яке я придумав - це використання xcalibкоманди через два легкодоступних пускових програми на моєму панелі інструментів / додатків. Я назвав їх " Режим екрану " та " Режим паперу ".

За допомогою xcalibя можу активувати на ходу дві різні конфігурації екрана без профілів та іншого нахилу. Зауважте, що xcalibце найменший біт програмного забезпечення і не займе ні місця, ні пам’яті, оскільки він передає конфігурації адаптеру дисплея та виходить. Ви можете забути про таке важке спеціалізоване програмне забезпечення, як argyll + dispcalgui тощо.

По-перше, встановіть за xcalibдопомогою:

sudo apt-get install xcalib

Потім встановіть два пускові установки з цими командами:

Щоб встановити "Режим паперу", використовуйте:

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

Щоб (повторно) повернутись до "Екранного режиму", використовуйте:

xcalib -clear

Як ви, напевно, можете сказати, я коригував параметри на канал і мої зусилля полягали в тому, щоб створити подібний Kindle результат. Очевидно, ви можете і повинні налаштувати їх відповідно до ваших уподобань та екранів. Звичайно, це коригує екран у цілому, але, принаймні, для мене це було благом для всіх білих ІДЕ. На це знадобиться кілька хвилин, щоб звикнути, але назад ніколи не повернетеся. Це справжнє око-заощадження!

Використання команди є xcalib -ChannelName Gamma Brightness Contrastі всі розділені одним пробілом. -alterПодає сигнал до адаптера. -clearНадіслати повідомлення «Clear» до адаптера , щоб очистити всі настройки назад в нормальне русло.

ВАЖЛИВА ПОРАДА . Щоб не втратити чорноту літер, завжди тримайте яскравість 1, як показано вище. Пограйте лише з гаммою та контрастом. Гамма дасть темніший / світліший результат, а граючи з контрастом між каналами, буде коригувати отриманий колір.

Ще одна порада : встановіть ярлик "Режим паперу" спочатку скинути, а потім встановіть колір (наприклад, "xcalib-ясний && xcalib -red 1.7 1 64 -зелений зелений 1.7 1 57 -помітити 1,7 1 28-alter"), так що якщо випадково використовуйте його кілька разів, це не змінить колір відображення на чорний.

Я сподіваюся, що це стане корисним для багатьох з вас!


2
Як я помітив, що гамма 1.7 стосувалася лише зламання шрифту для згладжування шрифту (а також того, що я використав кілька справді смішних цифр), більш підходящою командою для "режиму паперу" було б ...xcalib -red 1.5 0 65 -green 1.5 0 60 -blue 1.5 0 25 -alter
GRE2608

На момент написання xcalib несумісний з Wayland (віконний рендер), оскільки кожен процес може малювати лише у відповідному вікні.
Tijs Maas

4

Я знайшов Okular як кращий переглядач PDF. Це дозволяє вам змінити з GUI колір тла та колір шрифту на будь-яке значення, яке ви хочете. тобто

Налаштування -> Налаштувати Okular -> Доступність -> Змінити колір

Наприклад, встановіть:

  • Темний колір як колір шрифту
  • Світлий колір як колір тла.

У мене була версія Okular 0.16.5


3

Змініть колір тла евіту на легку жадібність і захистіть очі

Налаштуйте середовище компіляції та завантажте джерело

sudo apt source evince

Змініть джерело на свій колір, наприклад світло-зелений (R: 199, G: 237, B: 204) Відредагуйте функцію ev_document_misc_invert_surfaceу файлі: libdocument/ev-document-misc.cу рядку 467

змінити

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

до

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

Налаштуйте та зробіть та зробіть встановлення

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
```

Потім робіть, і я отримую помилку:

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

Звичайно, виправте це:

#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

У версії Ubuntu 18.04 я виявив кілька помилок як описаний вище, і я виправляю їх за допомогою ігнорування GCC. (будь ласка, додайте # перед прагмою у наступному коді)

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

Потім змініть конфігурацію в /usr/share/applications/evince.desktop

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

Якщо натиснути на вигляд-> Інвертований колір, колір тла зміниться на світло-зелений

Насолоджуйся цим!


2

Дякую за запрошення Евана. Ось що я зробив для досягнення світло-зеленого фону в Evince 2.30.3.

Як уже згадувалося в потоці ( https://mail.gnome.org/archives/evince-list/2011-November/msg00015.html ), опублікованій мною кілька років тому, я замінив вихідний код із рядка 327 на 329 libdocument / ev-document-misc.c із таким фрагментом:

// 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 */
}

Зауважте, що положення коду може відрізнятися для різних версій Evince.

Потім перекомпілюйте Evince:

$ ./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

Після компіляції запуск DONOT зробить установку , оскільки це може змінити ваші локальні параметри Evince. Просто створіть резервну копію оригіналу /usr/lib/libevdocument.so.2.0.0 та замініть його зміненим libdocument / .libs / libevdocument.so.2.0.0 вручну.

Потім перезапустіть Evince, відкрийте .pdf-файл (або інші підтримувані формати, незалежно від того) та скористайтеся опцією "Перевернутий колір", щоб змінити колір фону на світло-зелений.

Нехай це стане в нагоді :)


1
було б корисно, якби ви показали код навколо свого фрагмента. Інакше незрозуміло, як знайти потрібне місце, не витрачаючи занадто багато часу.
Олена

0

Я також намагаюся змінити колір тла evince, але не вдалося.

Можливо, qpdfviewвам корисна ще одна програма . Він може забарвити всі документи PDF на зеленому тлі, включаючи відскановані документи PDF, це заспокоює очі.

На жаль, видання, встановлене з синаптичних даних, не працює для забарвлення відсканованих PDF-документів, але видання, встановлене з PPA, добре для цього. Просто виконайте наступні команди.

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

Потрібно змінити параметр кольору.

Що стосується відсканованих PDF-документів, вам потрібно натиснути кнопку view-композиція-затемнити кольором паперу, і це буде нормально.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.