SumatraPDF 通过编辑 SumatraPDF-settings.txt 文件实现菜单、命令、快捷键及右键菜单的自定义:1. 在 CustomMenu 中定义菜单结构;2. 在 CustomCommands 中声明外部命令;3. 在 Hotkeys 中绑定快捷键;4. 用 ContextMenu 重写右键菜单;5. 省略默认菜单项可隐藏对应菜单。

一、修改 SumatraPDF 配置文件 custom.tex
SumatraPDF 的菜单和快捷操作由其内置的配置机制控制,核心方式是通过编辑或创建 SumatraPDF-settings.txt 文件,并在其中定义 CustomMenu 和 CustomCommands 区块。该文件位于用户配置目录下,修改后重启软件即可生效。
1、关闭 SumatraPDF 程序,确保无后台进程运行。
2、按下 Win + R,输入 %APPDATA%SumatraPDF,回车打开配置目录。
3、检查是否存在名为 SumatraPDF-settings.txt 的文本文件;若不存在,则新建一个纯文本文件并命名为该名称(注意扩展名必须为 .txt,不可为 .txt.txt)。
4、用记事本或支持 UTF-8 编码的编辑器(如 Notepad++)打开该文件,在文件末尾新增如下区块:
CustomMenu [
"&File" [
"&Open..." "open"
"E&xit" "exit"
]
"&Edit" [
"&Copy" "copy"
"Select &All" "selectall"
]
]
5、保存文件,重新启动 SumatraPDF,观察菜单栏是否已按定义更新。
二、添加自定义命令并绑定快捷键
SumatraPDF 支持将外部程序、脚本或内部动作封装为可调用命令,并通过菜单项或键盘快捷键触发。所有命令需在 SumatraPDF-settings.txt 中的 CustomCommands 区块声明,再于 CustomMenu 或 Hotkeys 中引用。
1、在 SumatraPDF-settings.txt 文件中,于 CustomMenu 区块上方或下方插入以下内容:
CustomCommands [
"print-to-pdf" ["C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "Get-Process | Out-File "$env:TEMP\pslist.txt""]
]
2、在 CustomMenu 区块内添加对应菜单项,例如:
"&Tools" [
"Print Process List" "print-to-pdf"
]
3、如需绑定快捷键,在文件中新增 Hotkeys 区块:
Hotkeys [
"Ctrl+Alt+P" "print-to-pdf"
]
4、保存文件,重启 SumatraPDF,尝试按 Ctrl+Alt+P 或从“Tools”菜单点击执行。
三、启用并定制右键上下文菜单
SumatraPDF 默认右键菜单固定,但可通过配置 ContextMenu 区块实现完全重写。该区块独立于 CustomMenu,仅作用于 PDF/EPUB/XPS 等文档视图内的鼠标右键弹出菜单。
1、在 SumatraPDF-settings.txt 文件中新增以下区块(位置任意,建议置于文件末尾):
ContextMenu [
"&Copy Text" "copy"
"Select &All" "selectall"
"---"
"Open in &Notepad" ["notepad.exe" "%1"]
]
2、其中 "%1" 表示当前文档的完整路径,供外部程序使用;"---" 表示分隔线。
3、确保当前打开的是支持文本选择的格式(如 PDF 文字层可用、EPUB),否则“Copy Text”可能灰显。
4、保存后重启,右键点击文档任意位置,验证新菜单项是否出现且功能正常。
四、禁用默认菜单项并精简界面
SumatraPDF 不提供图形化菜单编辑器,但允许通过在 CustomMenu 中**省略原始条目**的方式实现隐藏。若仅声明部分菜单结构,未声明的顶层菜单(如“View”、“Help”)将彻底不显示,从而达成极简界面目标。
1、清空原 CustomMenu 内容,仅保留最小必要结构,例如:
CustomMenu [
"&File" [
"&Open..." "open"
"&Close" "close"
]
"&Edit" [
"&Copy" "copy"
]
]
2、确认文件中未定义 "View"、"Bookmarks"、"Help" 等菜单区块。
3、保存文件并重启 SumatraPDF,此时菜单栏仅显示“File”与“Edit”,其余全部消失。
4、如需恢复某默认菜单,须手动查阅官方文档中对应命令字符串(如 "zoomin"、"fullscreen"),并将其加入相应子菜单。


















