需启用restoresession、rememberopenedfiles和reuseinstance三项配置,并确保配置文件可写、格式正确、权限正常,才能实现sumatrapdf启动时自动恢复上次阅读的文件及完整会话状态。

如果您希望SumatraPDF在启动时自动打开上次阅读的文件并恢复完整会话状态,则需确保其会话恢复机制被正确启用并持久化保存。以下是实现该功能的具体配置步骤:
一、启用会话恢复主开关
SumatraPDF是否在启动时恢复上一次会话,由配置项RestoreSession控制。该设置必须为true,否则整个恢复流程将被跳过。
1、关闭所有SumatraPDF进程,确保无实例运行。
2、打开配置文件SumatraPDF-settings.txt,路径通常为:%APPDATA%\SumatraPDF\SumatraPDF-settings.txt(绿色版则位于程序同级目录)。
3、查找或添加以下行:RestoreSession = true,确保其值为true且未被注释(行首无//)。
4、保存文件并重新启动SumatraPDF验证生效情况。
二、启用文档状态记忆功能
仅开启RestoreSession不足以恢复每个文档的页面位置、缩放比例等细节;还需启用RememberOpenedFiles,该选项驱动FileHistory系统记录单个文件的FileState数据结构。
1、在相同配置文件中,确认存在以下设置:RememberOpenedFiles = true。
2、若该行缺失,手动在GlobalPrefs区块或文件末尾添加。
3、重启SumatraPDF后,任意打开一个PDF并翻页、缩放,关闭程序再启动,观察是否恢复至原页面与缩放级别。
三、检查并修复配置文件权限与完整性
即使配置项正确,若SumatraPDF-settings.txt文件被设为只读、被其他进程锁定,或内容因异常退出而损坏,会话数据将无法写入或读取。
1、右键点击SumatraPDF-settings.txt → “属性” → 取消勾选“只读”属性。
2、使用记事本以管理员身份打开该文件,确认其中SessionData字段非空且格式合法(例如包含tabStates数组和有效pageNo值)。
3、若发现SessionData为空或明显损坏,可临时重命名该文件(如改为SumatraPDF-settings.bak),重启SumatraPDF生成新配置,再手动补回关键设置项。
四、强制复用单实例并避免外部干扰
当系统存在多个SumatraPDF实例,或Windows默认应用关联被更改,可能导致会话数据未被统一写入或读取失败。启用ReuseInstance可确保所有文档都在同一进程中打开,保障会话上下文一致性。
1、在配置文件中查找或添加:ReuseInstance = true。
2、同时检查Windows默认应用设置:进入“设置→应用→默认应用→按文件类型指定默认应用”,确认.pdf等格式均绑定至SumatraPDF可执行路径。
3、完成设置后,双击PDF文件应复用已有窗口,而非新建进程,从而保证会话状态持续积累与恢复。
五、通过命令行参数临时触发会话恢复
若图形界面设置未立即生效,或需在特定场景下强制恢复,可绕过GUI直接调用可执行文件并注入会话恢复逻辑。此方式不修改配置文件,但能验证底层机制是否正常工作。
1、按下Win + R,输入cmd打开命令提示符。
2、输入完整命令(请替换为您的实际安装路径):"C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance。
3、回车执行。此时SumatraPDF将以复用模式启动,并主动加载上一次保存的SessionData,包括所有标签页及其状态。











