Изменить цвет страницы PDF и шрифта, отображаемые в интернет-браузерах

Изменить цвет страницы PDF и шрифта, отображаемые в интернет-браузерах

Можно ли изменить отображаемый цвет страницы и шрифт PDF-файлов при открытии в Chrome, Firefox или других браузерах?


Я хочу читать длинные тексты PDF на ноутбуке, имея возможностьизменить как цвет фона страницы, так и цвет текста. Янетзаинтересован в инвертировании цветов — что приведет к ярко-белому тексту на темном черном фоне

введите описание изображения здесь

а в настройке цвета каждого из этих двух элементов и получении чего-то более сбалансированного и приятного для глаз, похожего на то, как электронные книги отображаются в электронных книгах:

введите описание изображения здесь

Это возможно с различными PDF-ридерами. В Linux я могу использоватьAdobe Reader, Foxit Reader, и особенноМастер-редактор PDF, который может изменять цвет отображаемой страницы и шрифта не только в текстовых PDF-файлах (текстовые документы, сохраненные/экспортированные/распечатанные как PDF), но и в PDF-файлах на основе изображений (бумажный текст, отсканированный и сохраненный как PDF). Подробнее об этомздесь.


А как насчет интернет-браузеров? Я знаю, что основные из них отлично читают PDF-файлы.

решение1

Хм, Chrome в настоящее время все еще не может, но старые браузеры можно настраивать так, как вам хочется в пределах их возможностей, здесь инверсия просто нажимаетсяI введите описание изображения здесь введите описание изображения здесь

В текущей версии Firefox вы можете установить букмарклет для изменения цвета, но ваш выбор может отличаться, см.
https://stackoverflow.com/questions/61814564/how-can-i-enable-dark-mode-when-viewing-a-pdf-file-in-firefox

В следующем примере используется вариант переключателя, показанный здесь и вhttps://stackoverflow.com/a/71777470/10802527

введите описание изображения здесь

Не многие понимают, что для просмотра PDF в "браузере" на самом деле его ДОЛЖНО быть загружено (если только это не дым и зеркала, копии страниц в виде изображений с наложением текста HTML). Таким образом, для Chromium/Edge вы можете установить "Только загрузка", а затем открыть PDF в "Dark Reader". Вы можете удалить PDF позже, если он вам не нужен, так же, как браузер сделал бы с его кэшированной копией. введите описание изображения здесь

Для Windows вы можете использовать SumatraPDF (показано выше) или Okular (показано ниже), а для Linux — собственный Okular или SumatraPDF (32/64/Arm) в Wine.
введите описание изображения здесь

решение2

В Firefox версии 112.02 у меня это работает:

принудительно изменить цвета фона и переднего плана в Firefox для просмотра PDF

В адресной строке введите:

about:config

В поле поиска введите:

pdfjs

Установите следующие параметры конфигурации:

pdfjs.forcePageColors          true
pdfjs.pageColorsBackground     #202020 
pdfjs.pageColorsForeground     #d1d1d1

переключитесь на вкладку с загруженным PDF-файлом и нажмите F5 (обновить), чтобы увидеть результат.

Поскольку принудительно устанавливаются только цвета фона и переднего плана, изображения в PDF-файле остаются нетронутыми, что очень приятно (другие/старые решения полностью инвертировали PDF-файл).

Пример изображения 1

против

Пример изображения 2

решение3

Я проверил браузеры на базе Chromium и Edge, и ответ — нет. Включенный просмотрщик PDF-файлов довольно базовый. Вы можете следить за сторонними расширениями, но я не нашел ни одного

решение4

Возможно, с помощью этого обходного пути:

Вставьте это в консоль браузера ( Ctrlshifti) и нажмитеenter

function toggle() {
    let q = document.querySelectorAll('#nightify')
    if(q.length) {
        q[0].parentNode.removeChild(q[0])
        return false
    }
    var h = document.getElementsByTagName('head')[0],
        s = document.createElement('style');
    s.setAttribute('type', 'text/css');
    s.setAttribute('id', 'nightify');
    s.appendChild(document.createTextNode('html{-webkit-filter:invert(100%) hue-rotate(180deg) contrast(70%) !important; background: #fff;} .line-content {background-color: #fefefe;}'));
    h.appendChild(s); 
    return true
}

toggle()

Источник:https://dev.to/jochemstoel/re-add-dark-mode-to-any-website-with-just-a-few-lines-of-code-phl

Другой вариант:

var cover = document.createElement("div");
let css = `
position: fixed;
pointer-events: none;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: #cecece;
mix-blend-mode: difference;
z-index: 1;
`
cover.setAttribute("style", css);
document.body.appendChild(cover);

Адаптирован из:https://windowsreport.com/invert-colors-pdf/

Связанный контент