sumatrapdf

应用程序

sumatrapdfreader/sumatrapdf

Windows 平台多格式文档阅读器,支持 PDF、EPUB 等。

项目简介

SumatraPDF 是一款快速、开源的 Windows 文档阅读器,支持 PDF、EPUB、MOBI、CBZ、CBR、FB2、CHM、XPS 和 DjVu 等多种格式。该项目采用 GPLv3 许可,设计轻量且可移植。

README 预览

[](https://github.com/sumatrapdfreader/sumatrapdf/actions/workflows/build.yml)
## SumatraPDF Reader

SumatraPDF is a multi-format (PDF, EPUB, MOBI, CBZ, CBR, FB2, CHM, XPS, DjVu) reader
for Windows under (A)GPLv3 license, with some code under BSD license (see
AUTHORS).

More Information:
* [Website](https://www.sumatrapdfreader.org/free-pdf-reader)
* [Manual](https://www.sumatrapdfreader.org/manual)
* [Developer Information](https://www.sumatrapdfreader.org/docs/Contribute-to-SumatraPDF)

常见问题 (3)

故障排除
如何解决 SumatraPDF 在输入自定义页面范围时打印错误页面的问题(例如输入 2 却打印出第 3 页)?

这个页面打印错误的 bug 影响 SumatraPDF 3.5.2 等旧版本:在自定义页面范围中输入 2、2-2 或 1 等值时,总是会打印第 3 页。该问题已在 PR #5108 中得到处理,已确认在 SumatraPDF 3.6 中修复,并在 3.7 预发布版中也已解决。将您的 SumatraPDF 升级到 3.6 或更高版本即可解决此问题。

来源 Issue #5623
故障排除
为什么 SumatraPDF 的 -search 或 -dde "[Search]" 在已有实例运行时会静默忽略非 ASCII(例如中文)搜索词?

这是 SumatraPDF 中一个已确认的 bug(在预发布版 3.7.0 中观察到):当通过 -search 或 -dde "[Search(...)]" 将搜索命令转发给已在运行的实例时,非 ASCII 搜索词会在内部损坏(很可能是在 Search 处理程序中经过了窄字符/ANSI 字符串转换),因此不会执行查找,也不会发生高亮或跳转——尽管 DDE 传输本身能完好地传递 Unicode 文本。

解决方法:在执行该命令之前,确保没有 SumatraPDF 实例正在运行,这样新进程就会在进程内执行 -search:

taskkill /IM SumatraPDF.exe /F
SumatraPDF.exe "D:\file.pdf" -search "火"

以这种方式启动时,搜索词能被正确找到并高亮显示(调试日志会显示 TaskFindCount 和 ShowMatchCount)。缺点是会丢失当前窗口会话,不过可以通过会话恢复功能部分找回(设置 > 高级选项 > RestoreSession = true)。仅含 ASCII 字符的搜索词以及其他 DDE 命令(如 [GotoPage])不受影响。

来源 Issue #6412
故障排除
为什么 SumatraPDF 3.6 在页面渲染时会冻结或阻塞页面导航?

这是 SumatraPDF 3.6 引入的一个回归问题:渲染缓慢的页面会阻塞 UI,因此在渲染完成之前,按右方向键或拖动滚动条都不会有任何效果,显示的页面会滞后于滚动位置。临时解决方法:从 https://www.sumatrapdfreader.org/prerelease 下载最新的预发布版本(3.7+)——该版本更改了渲染方式,导航不再被阻塞。注意:对于渲染非常慢的 PDF,主视图仍可能略微滞后于滚动条;这种残留的滞后属于已知问题。或者,也可以降级到 3.5.x 版本,在该版本中滚动和页面显示保持同步。

来源 Issue #6362