乐于分享
好东西不私藏

给文档换护眼皮肤:孩子双眸需要温柔以待.....

给文档换护眼皮肤:孩子双眸需要温柔以待.....
深 度 好 文
给文档换护眼皮肤:眼睛真的不疼了
📝 4200字
⏱ 11 分钟
📊 811张配图
友哥 & AI 创造 · 2026-05-06
友哥 & AI 创造
科技深度 · 洞察未来· 干货分享
关注
📖 目录
一、那晚陪娃做化学,被试卷晃哭了
二、第一次出手,做了个"黑底白字"工具
三、原来是它——21:1 对比度才是真凶
四、第二版:温柔反色 + 暖杏色 = 真护眼
五、一招通吃:5 类格式 × 4 套主题
六、批处理大杀器:递归整个文件夹
七、真实测试:29 个文档 + 5 张作业,全部搞定
八、代码开源:你也能用
九、最后想说:愿你的眼睛被善待
▲ 夜晚伤眼的白底文档与护眼的暖色文档对比
💡 友哥说:
那晚我陪儿子看初三化学试卷,一页 Word 全屏白底,看了 20 分钟眼睛就开始发酸。我心想:现在都 2026 年了,连书都能放进暗色模式,怎么还在让眼睛盯着白屏受罪?于是我动手做了个工具。第一版我兴冲冲做了"黑底白字"——结果发现比白底还伤眼继续和 AI 一起锤炼,重要找到更护眼的方式。
关键是,
炼成一个 skill,可以快速把一堆文件自动转化为护眼模式。
进一步, 友哥把他分享出来,希望大家都受益。
CHAPTER
一、那晚陪娃做化学,被试卷晃哭了

晚上 10 点,灯关了一半。

儿子的中考复习冲刺期,电脑上整了各种资料试卷啥的,让他再电脑上看

我把 PDF 、word 啥的在 Mac 的 Preview 里打开,一道刺眼的白光直接糊脸上!!

试卷是黑白印刷的扫描件,纸白底+黑字,OCR 都不需要——但屏幕显示出来就是一面 27 寸的小太阳。

当然,如果跳出预览,用第三方软件,如 wps 上还有个护眼模式,但依然不完美,还是有点刺眼(我那挑剔的儿子......),

关键是,如上只能对可编辑的 word 、excel 有限,那些pdf 、图片上的背景是死的,wps 也变不过来!!

那一刻我突然意识到:原来“电脑护眼”这点,现在可能还没解决好!! 那咱自己试一下?

CHAPTER
二、第一次出手,做了个"黑底白字"工具

有了 AI,开始动手。

开始想法很直接,文件中大部分是背景,都变成黑色不就不刺眼了么?

需求很简单:给我一个目录,把里面所有 Word、PDF、Excel 全部转成黑底白字,眼睛友好版

技术方案也很直接:

  • PDF
    :每页用 PyMuPDF 渲染成图片,PIL ImageOps.invert(img) 一键反色,再合成新 PDF
  • DOCX
    :python-docx 改 w:background 为黑,所有 run 的 w:color 改白
  • XLSX
    :openpyxl 给每个单元格设置黑底白字

写完跑通,24 个化学试卷全部成功转换,命令行哗啦啦输出"✅ 完成"。

我赶紧打开第一个文件给儿子看。

他瞄了一眼,皱起眉头说:"这……感觉比原来还晃啊。"

CHAPTER
三、原来是它——21:1 对比度才是真凶

我一开始还嘴硬:怎么可能?黑底白字不是最经典的护眼方案吗?

带着疑惑去查资料,一查吓一跳。

纯白 #FFFFFF + 纯黑 #000000 的对比度高达 21:1——这是 sRGB 色彩空间能达到的物理上限。

而 W3C 的 WCAG 无障碍规范里,最高级别 AAA 推荐对比度 ≥ 7:1 即可保证可读性

也就是说:21:1 比标准高了整整 3 倍。

对比度过高,会让眼睛在持续聚焦时反复调整瞳孔,长时间盯着就疲劳——这才是真正的伤眼元凶。

我开始观察那些"以护眼著称"的产品:

  • 苹果的 macOS Dark Mode:背景 #1E1E1E 暗灰,不是纯黑
  • VS Code 的默认深色主题(Dark+):背景 #1E1E1E,文字 #D4D4D4,不是纯白
  • GitHub Dark:背景 #0D1117,文字 #C9D1D9,蓝灰偏暖
  • Kindle Paperwhite Dark Mode:暖灰底 + 暖米色字,像旧报纸的颜色

全行业的护眼标杆,没有一个用纯黑+纯白。

▲ 纯黑底白字 vs 暖杏色 — 对比度数据对比

那一刻我才明白:

第一版工具不是"护眼",是给眼睛上了一副偏振墨镜——看起来颜色变了,眼睛仍在硬扛 21:1 的对比度。

CHAPTER
四、第二版:温柔反色 + 暖杏色 = 真护眼

明白了原理,重做。

新方案两个关键改动:

改动一:配色升级

参考 Kindle Paperwhite Dark Mode,定下默认主题(命名 warm):

```

背景:#1F1F1F  暖深灰(不是纯黑,给眼睛留呼吸空间)

文字:#D4C9A8  暖米杏(不是纯白,类似旧纸张暖色)

对比度:~11:1(清晰但不刺眼,远超 WCAG AAA 标准)

```

改动二:算法升级——温柔反色(gentle_invert)

普通反色只是简单的 255 - x

  • 原图白底 → 输出纯黑(仍然刺眼)
  • 原图黑字 → 输出纯白(仍然晃眼)
  • 图片孤立成一块"高对比度小岛",跟周围暖色文档格格不入

我引入查找表(LUT),让反色后的颜色直接落到主题色域。

效果立竿见影:

  • 原图白底 (255,255,255) → 输出 (31,31,31) 暖深灰
  • 原图黑字 (0,0,0) → 输出 (212,201,168) 暖米杏
  • 中间灰度按线性插值

整页色调统一,图片完美融入文档,再也没有那种"小岛感"。

▲ 温柔反色算法原理:从机械反色到色域映射

我用同一份化学试卷再让儿子看,他眯着眼仔细瞅了瞅,说:"哎,这个真的不晃了。"

那一晚,我第一次做出了让我自己也愿意长时间看的暗色文档。

这种看着眼睛舒服

CHAPTER
五、一招通吃:5 类格式 × 4 套主题

既然技术框架对了,剩下的就是把它做成一个真正能用的工具

支持的文件格式扩展到 5 类:(远远比 wps 等软件支持的多!)

格式
处理方式
PDF
200dpi 渲染→温柔反色→嵌入新 PDF(兼容扫描件、试卷、复杂排版)
DOCX
文档背景 + 文字 + 表格 + 内嵌图片全部温柔反色(题图也护眼)
DOC
自动调用 LibreOffice 转 DOCX 后处理
XLSX
单元格底色 + 字体 + 边框统一处理
图片
jpg / png / jpeg / bmp / gif / tiff / webp,含 EXIF 旋转校正

主题也做了 4 套,按场景任选:

▲ 4 套护眼主题色板
  • warm
    (默认推荐):暖杏色,类 Kindle Paperwhite Dark Mode
  • paper
    :仿羊皮纸 sepia 暗色,复古纸感
  • gray
    :偏冷淡的暖灰系
  • pure
    :纯黑底白字(旧版兼容,警告:最刺眼

每个主题都通过统一的 themes.py 配置,加新主题只要改三行配色——白板可拆,调色随意

CHAPTER
六、批处理大杀器:递归整个文件夹

单个文件转换不算本事——真正解决问题的是批处理

试想一下:你的"中考复习"文件夹里有 6 个学科子目录,几十个试卷文件,难道一个个手动转?

工具的核心入口是 darkmode_batch.py

python3 darkmode_batch.py "/path/to/your/folder" --theme warm

一行命令,自动完成:

  1. 递归扫描整个目录
    ,找出所有可处理文件
  2. 跳过 Word/Excel 的临时锁文件
    ~$xxx.docx)和已处理过的 _dark 文件
  3. 保留原目录层级
    ,输出到 dark/ 子目录
  4. 每个文件独立异常处理
    ,单个失败不影响其他文件
  5. 最后输出汇总报告
    :成功几个、失败几个、总耗时
▲ 批处理工作流:源文件夹 → dark/ 护眼版文件夹

异常隔离这条非常重要——批处理的最大噩梦就是"跑了 80% 的时候挂了"。每个文件单独 try/except 包起来,再坏也只是少一个文件,绝不会让整个批处理崩盘

CHAPTER
七、真实测试:29 个文档 + 5 张作业,全部搞定

理论说一万句,不如真跑一遍。

我直接拿儿子的"试卷"目录开刀:

```

/Users/.../乐天/c初三/试卷/

├── 12 个 PDF(数学/物理/英语/作文)

├── 化学/      4 个文件

├── 英语/      3 个文件

├── 语文/      2 个文件

├── 道法/      3 个文件

└── 历史五一作业/五一作业/  5 张拍照作业 .jpg

```

一行命令丢进去:

python3 darkmode_batch.py "/path/to/试卷" --theme warm

结果一气呵成:

▲ 实测数据汇总
  • 29 个文档全部成功
    ,0 个失败
  • 116 张内嵌题图全部温柔反色
  • 跨 6 个学科子目录,目录层级完美保留
  • PDF 一共 230+ 页,全部 200dpi 渲染反色
  • 总耗时 134 秒
    (接近 5 分钟,主要是 PDF 渲染慢)

打开第一个化学试卷一看:暖深灰底、暖米杏字、题图也是同样色调融在一起。

整个文档像被裹在一层温柔的暖光里。

儿子那一晚多看了 40 分钟试卷没揉眼睛——这是这个工具最直接的验收。

CHAPTER
八、代码开源:你也能用

我把整个工具开源到了 GitHub:

🔗 https://github.com/shiyousun/darkmode-doc-youge

▲ 开源在 GitHub,分享给所有人

仓库里有完整的代码、详细的 README、依赖清单、使用示例。

三步上手

git clone https://github.com/shiyousun/darkmode-doc-youge.gitpip3 install -r requirements.txtpython3 scripts/darkmode_batch.py "/your/folder" --theme warm

四套主题随便切:

--theme warm    # 暖杏色(默认推荐)--theme paper   # 仿羊皮纸 sepia--theme gray    # 暖灰色--theme pure    # 纯黑白(不推荐)

(当然,如果你使用 AI 工具,直接用自然语言说就可以了)

“从 XX 下载这个 skill,之后把 XX 目录的所有文件标成护眼模式,具体选 XX 风格”

如果你也常常熬夜看资料、看试卷、看 PDF——clone 一份,用得舒服记得回来给个 ⭐

发现问题或想加新主题,欢迎提 Issue,欢迎 PR。

CHAPTER
九、最后想说:愿你的眼睛被善待

写这个工具的过程,我有两个意外的收获。

第一个:错误的"护眼方案",比无防护还危险。

我们以为在保护眼睛,实际上只是换了个姿势让眼睛受罪。

如果你正在用任何"夜间模式"——先看看它是不是纯黑+纯白。如果是,赶紧换。

第二个:科技应该让人更舒服,而不是逼人硬扛。

我们的眼睛每天看屏幕的时间,已经远远超过身体设计的承受极限。

干眼症的发病年龄从 40 岁降到 20 岁,近视率从 30% 涨到 70%。

这不是身体不行,是科技产品默认设置就在欺负眼睛。

一篇白底文档、一道刺眼白光、一份 21:1 对比度——这些都是"小事"。

但小事日积月累,就是青光眼、干眼症、老花眼提前 10 年到来。

如果你也常常一坐就是几个小时盯屏幕,尤其是正在成长的孩子需要长时间看电脑屏幕——

愿你的眼睛被善待。

愿你看的每一份文档,都不再让你下意识皱眉、揉眼、揉太阳穴。

愿这个小工具,能给 你我及我们的孩子 长时间在电脑前工作或学习的人,一份小小的温柔.....

工具开源地址:https://github.com/shiyousun/darkmode-doc-youge

觉得好用,欢迎 ⭐;觉得有用,欢迎转发给身边那个总熬夜看屏幕的人。 

当然,不止是电脑,转换后的文档 放到手机上看,一样是护眼的

还行就点赞, 有用就喜欢, 利他就分享 😜
转发给你觉得最需要"学干货"的朋友
👍 点赞
❤️ 喜欢
↗ 分享
本文由友哥 & AI 创造 · 感恩观看转载请注明出处 · 欢迎关注获取更多好文