SumartPDF
定义
SumartPDF 所指的是一款运行于微软 Windows 系统的免费开源文档阅读软件,其正式名称为 SumatraPDF,中文语境里常把中间的 a 省写成 Sumart[1]。它属于轻量级阅读器,安装包与可执行文件的体积远小于同期的主流阅读工具,界面只保留打开、翻页、书签等基础功能[2]。
它与只处理单一格式的阅读器不同,同一程序可以打开 PDF、EPUB、MOBI、FB2 等电子书,也能读取 DjVu、XPS、CHM 帮助文档,以及 CBZ、CBR、CBT 等漫画压缩包和常见图片[2]。软件采用 GNU 通用公共许可证第 3 版发布,源代码公开可获取[2]。
原理
文档的显示由 PDF 渲染库完成。程序早期使用 Xpdf 的代码,随后改用 Poppler 作为后端,从 0.4 版起换用速度更快、对 Windows 平台支持更好的 MuPDF;0.6 至 0.8 版之间两个库并存,Poppler 作为备用引擎处理 MuPDF 无法正常解析的文件,直到 2008 年 8 月 10 日发布的 0.9 版将其彻底移除[2][3]。渲染的基本流程可以概括为:读取文件中的页面对象,按内容流解释绘图指令,再把结果绘制到屏幕或输出为图像。
flowchart LR
A[打开文件] --> B[识别格式]
B --> C[MuPDF 解析页面对象]
C --> D[解释内容流]
D --> E[光栅化渲染]
E --> F[屏幕显示]
C --> G[文本层提取]
G --> H[搜索与复制]
程序主体用 C++ 与 C 编写,直接调用 Win32 API,而没有引入 Qt 一类界面抽象层,这是可执行文件体积小、启动迅速的主要原因[2]。它不会锁定被打开的文件,因此 LaTeX 重新编译生成同名 PDF 后,按 R 键即可刷新到新内容,这构成了与编辑器联动的基础[3]。软件还实现了 SyncTeX 双向同步,可在 TeX 源文件与 PDF 对应位置之间跳转[3]。
发展历程
这款软件最初并非独立项目。作者当时在 Palm 公司任职,为已取消发布的 Foleo 便携设备编写文档查看程序,项目中止后他把代码改写为 Windows 版本,并于 2006 年 6 月 1 日发布 0.1 版[2][3]。1.0 版在 2009 年 11 月 17 日推出,此前累计开发超过 3 年[3]。
2008 年 10 月发布的 0.9 系列开始支持 PDF 内嵌超链接,0.9.4 版增加了对 JPEG 2000 图像格式的处理能力[3]。2009 年 7 月,项目许可证由 GNU GPL 第 2 版改为第 3 版,与 MuPDF 的授权变化保持一致[2]。
2010 年代中期的版本迭代中,2.2 版于 2012 年 12 月发布,加入 FictionBook 电子书格式支持,并能打开采用 Acrobat X 加密的文档。2014 年 2 月,欧洲自由软件基金会将其从推荐软件名单中移除,原因是源码中包含用于解压 RAR 文件的专有 unrar 库;2014 年 10 月 18 日发布的 3.0 版改用自由软件替代方案[2]。
2020 年 3 月推出的 3.2 版不再兼容 Windows XP,旧版本仍可在该系统上使用[2]。2023 年 10 月发布的 3.5 版增加了 Arm 64 支持与深色模式;2026 年 3 月发布的 3.6 版改进了命令面板、注释编辑以及滚轮和触摸手势的滚动手感。2026 年 4 月 6 日发布的 3.6.1 版以错误修复为主。
预发布阶段的 3.7 版把 MuPDF 的命令行工具集成进程序,用户可以用 draw、convert、clean、merge、extract、grep、poster、recolor、sign 等子命令完成页面删除、拆分合并、压缩、加密解密、文本搜索、OCR 与格式转换等操作[4][5]。安装版会同时安装控制台程序 sumatrapdf-tool,便携版则以 SumatraPDF 加子命令的形式调用相同功能[4]。
应用
最直接的用途是阅读。因为占用磁盘空间少、启动快、可放在 U 盘上直接运行而无需安装,也不需要写入系统注册表,它在配置较低的电脑与需要随身携带工具的场合较为常见[2]。软件能记住每个文件上次读到的页码,便于继续阅读长文档。
在排版与学术写作场景中,它常被 TeXworks、Vim 等编辑器或 VimTeX 一类插件设为预览程序,编译后自动刷新显示,并借助 SyncTeX 在源码行与页面位置之间正反向定位,这套组合在 Windows 平台的 LaTeX 工作流中被反复提及[1][6]。
3.7 版加入的命令行接口进一步把使用范围扩展到批处理与脚本自动化,合并、裁剪、加水印、添加书签、提取图片和字体、压缩体积等操作都可以由外部程序调用,也可交由自动化代理按文档说明执行[4]。安装时可选择注册 PDF 缩略图与桌面搜索解析器,使系统文件管理器和 Windows 搜索能够读取 PDF 内容。
局限
功能范围是有意收窄的。极简界面以减少功能为代价,缺少同类商业软件中常见的编辑、表单设计、复杂标注与协作审阅能力[3]。命令行工具在 3.7 版中仍处于预发布状态,只有安装后才能使用,单文件便携版不包含 sumatrapdf-tool 控制台程序。
平台支持单一。项目开发者明确表示不会推出 Linux、macOS、Android 版本,理由是现有开发者不熟悉其他平台的开发,且与 Windows 的深度集成使跨平台需要重写全部界面代码;其他系统上的使用只能依赖 Wine 一类兼容层[2]。这也是中文社区在讨论编辑器联动时提到它“不是全平台”的原因[1]。
在渲染与打印环节存在已知约束。早期版本打印时把每一页转换为位图,产生体积庞大的后台打印文件,打印机内存较小时速度明显下降,这一机制在 1.1 版之后才被替换[3]。此外,历史上曾出现经 CVE 编号披露的内存安全漏洞,例如 2013 年微软漏洞研究团队公布的 use-after-free 问题,影响 2.0 及之后的部分版本[2]。
参见
参考资料
- 有哪些好的 LaTeX 编辑器? [引用日期2026-10-29]
- Sumatra PDF [引用日期2026-10-29]
- Sumatra PDF [引用日期2026-10-29]
- Tools [引用日期2026-10-29]
- Built-in PDF command-line tools [引用日期2026-10-29]
- fireboom.io 上的网页 [引用日期2026-10-29]