我做了一款简洁轻量的 Windows PDF 阅读器:lw.PDF

日常工作中,我们经常需要打开 PDF 文件。

但有些 PDF 软件体积越来越大,启动越来越慢,还附带很多用不到的编辑、转换、云服务和账号功能。

如果只是想安静地阅读一份 PDF,有没有一个更简单的选择?

今天给大家介绍一款我开发并开源的 Windows PDF 阅读器:

lw.PDF

项目已经发布到 GitHub,采用 MIT 开源协议,欢迎免费下载、使用和参与改进。


lw.PDF 是什么?

lw.PDF 是一款面向 Windows 的简洁、轻量、本地化 PDF 阅读器。

它使用 Vue 3、TypeScript、PDF.js 和 C++ Native WebView2 开发,前端资源直接嵌入 EXE,不依赖 lw.Web2Exe 等额外打包运行时。

它的目标很明确:

把 PDF 阅读这件事做好,同时尽量保持界面简洁、启动直接、使用顺手。


目前支持哪些功能?

1. 连续滚动阅读

打开 PDF 后,可以像浏览网页一样连续滚动阅读,不需要在每一页之间反复切换。

同时支持:

  • 文本选择
  • PDF 内部链接跳转
  • 页码导航
  • 上一页和下一页
  • 当前页数显示

2. 多种缩放方式

除了常规放大和缩小,lw.PDF 还支持:

  • 适合宽度
  • 适合页面
  • 快捷键缩放
  • 显示当前缩放比例

阅读文档、技术手册和扫描资料时,可以快速调整到合适的显示方式。

3. 关键词搜索

按下 Ctrl + F 即可搜索 PDF 内容。

支持:

  • 搜索结果数量显示
  • 上一个结果
  • 下一个结果
  • 文本匹配定位

面对页数较多的设计文档、说明书和技术资料时,查找内容会方便很多。

4. 缩略图和文档目录

侧栏可以显示:

  • PDF 页面缩略图
  • PDF 自带的文档目录

点击缩略图或目录项目,即可快速跳转到对应页面。

缩略图采用按需加载方式,不会一次性渲染所有页面。

5. 拖拽打开 PDF

除了点击"打开"按钮,还可以直接将 PDF 文件拖入窗口。

拖入时会显示"释放鼠标打开 PDF"的提示,松开鼠标后立即开始加载。

6. 支持 Windows 桌面集成

lw.PDF 提供原生 Windows 集成功能,可以注册:

  • .pdf 文件打开方式
  • Windows"打开方式"列表
  • 右键菜单"使用 lw.PDF 打开"
  • PDF 文件图标和应用信息

注册完成后,还可以进入 Windows 默认应用设置,将 lw.PDF 选择为默认 PDF 阅读器。

需要说明的是,Windows 10 和 Windows 11 不允许普通应用直接替用户修改默认软件,因此最后一步需要由用户在系统设置中亲自确认。

7. 支持大型 PDF 按需读取

桌面版本不会通过 IPC 或 Base64 一次性复制整个 PDF。

程序使用 Native FileGrant 和 HTTP Range 机制按需读取文件内容,可以减少大型 PDF 打开时不必要的内存复制。

本地文件路径也不会直接暴露给前端页面。


使用 C++ Native WebView2

lw.PDF 的 Windows 桌面部分使用独立的 C++ Native 实现。

主要包括:

  • 原生 Windows 主窗口
  • WebView2 宿主
  • 原生文件选择窗口
  • 命令行打开 PDF
  • 拖放处理
  • Windows 文件关联
  • Native Bridge
  • 临时文件访问授权
  • 前端资源嵌入
  • EXE 图标和版本信息

最终生成的是独立的:

lw.PDF.exe

前端资源会在编译阶段嵌入程序,不需要额外携带网页目录,也不依赖第三方桌面打包运行时。


如何使用?

第一步:下载

打开项目的 GitHub Releases 页面:

github.com/lxw112190/l...

下载:

lw.PDF-v0.1.1-windows-x64.zip

同时提供 SHA256 校验文件,方便核对下载包是否完整。

第二步:解压

将 ZIP 解压到任意目录。

建议放在一个固定位置,例如:

D:\Tools\lw.PDF

第三步:运行

双击:

lw.PDF.exe

然后可以通过以下方式打开 PDF:

  • 点击工具栏中的"打开"
  • 按下 Ctrl + O
  • 将 PDF 拖入窗口
  • 使用右键菜单"使用 lw.PDF 打开"
  • 将 lw.PDF 设置为默认应用后直接双击 PDF

如果移动了 EXE,可以在"Windows 集成"窗口中重新修复文件关联。


项目完全开源

lw.PDF 采用 MIT License。

你可以自由地:

  • 使用
  • 学习
  • 修改
  • 分发
  • 用于个人或商业项目

项目地址:

github.com/lxw112190/l...

如果你在使用中发现问题,欢迎提交 Issue。

也欢迎开发者一起参与改进,包括:

  • PDF 阅读体验
  • 界面细节
  • 性能优化
  • 自动化测试
  • Windows 桌面集成
  • 多语言支持
  • 无障碍体验

为什么要做 lw.PDF?

这个项目并不是为了堆积大量功能。

我更希望它能够保持一种克制:

  • 打开就是阅读
  • 常用功能随手可用
  • 不强制登录
  • 不上传本地文档
  • 不替用户决定默认应用
  • 不加入与 PDF 阅读无关的复杂功能

软件不一定要越来越重。

有时候,简单、可靠、专注,本身就是一种价值。


最后

lw.PDF 目前仍在持续开发中。

如果你需要一款简洁、轻量、开源的 Windows PDF 阅读器,可以下载体验一下。

GitHub:

github.com/lxw112190/l...

最新版本:

github.com/lxw112190/l...

如果觉得项目不错,欢迎:

Star、分享、反馈、参与开发。

感谢每一位使用和关注 lw.PDF 的朋友。

相关推荐
ITresearchGuest1 小时前
AI 焦虑下,前端该何去何从
前端·人工智能
Larcher1 小时前
SDD 项目开发步骤与提示词
人工智能·设计模式·架构
SXkehuirongsheng1 小时前
APP开发定制和模板开发哪个更实用?
大数据·运维·人工智能
皮卡丘不断更1 小时前
从遥操作示范到可复现训练:LeRobot 0.6.1 的机器人学习工作流
人工智能·学习·机器人·开源·开发工具
william_yangshun1 小时前
【AI Agent 实战】omnigent 中文版:统一编排多个编码代理的 meta-harness 上手指南
人工智能
旋生万物1 小时前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf
IT_陈寒2 小时前
被Java的final坑惨了,这些细节你可能也忽略了
前端·人工智能·后端
星辰AI2 小时前
全栈项目代码质量治理复盘:ESLint+Prettier+Husky的渐进式引入策略
人工智能·ai·语言模型
pangtout2 小时前
70年底蕴老国企,如何跑出AI新速度?
人工智能·erp·智能体·用友yonsuite