刚开始用 Ubuntu 20.04 Focal Fossa 的时候,我最经常被问到的问题就是“PDF 阅读器到底用哪个”。很多人觉得这是个不值一提的小事,系统里自带一个能用就行了。但真要在 Linux 上长期干活,PDF viewer 的选择直接影响你处理合同、论文、图纸、电子书时候的流畅度。这篇就专门聊聊 Ubuntu 20.04 Focal Fossa 下 PDF viewer list 里那些值得装、值得试、值得避坑的软件,顺便把我实际用过的感受和踩过的坑一起说出来,给你作个参考。
1. Ubuntu 20.04 上为什么要单独挑 PDF 阅读器
1.1 Focal Fossa 默认环境里的“够用”不等于“好用”
Ubuntu 20.04 长期支持版的默认桌面环境是 GNOME,系统自带 PDF 阅读器是 GNOME 家族的 Evince,也就是“文档查看器”。你双击一个 PDF 文件,它马上就能打开,翻页、搜索、打印都没问题。对很多人来说,这个状态已经“够用”了。
但“够用”和“好用”之间差距不小。我最初也想过:PDF 嘛,只要能打开看就行,何必折腾。结果真到用的时候,问题一个接一个冒出来。比如我在 Ubuntu 20.04 上看一篇几百页的技术手册,Evince 的页面缩略图一多就开始卡顿;想要在扫描版的 PDF 里面做一点高亮标注,Evince 对注释的支持很基础,笔画很难受;同事发来一个带表单的 PDF,需要填写签字再回传,我用系统自带阅读器点了半天也没找到表单填写入口;最尴尬的是,有些 PDF 是专业排版软件生成的,里面内嵌了特殊字体,Evince 渲染出来跟原版对不上,表格线错位、中文变成方块。
这些场景叠加在一起,我意识到一个问题:PDF 阅读器在 Linux 上不只是“双击打开”那么简单,它背后是渲染引擎、注释格式、表单支持、页面缓存机制等多层因素的叠加。Ubuntu 20.04 作为长期支持版,用户基数大,很多人是从 Windows 转到 Linux 的,对 PDF 处理有很高的预期。这时候,了解一份完整的 PDF viewer list,并在具体场景里做筛选,就变得非常现实了。
1.2 评价一个 PDF 阅读器的五个硬指标
既然要挑,就得有统一标准。我把平时在 Ubuntu 20.04 上折腾 PDF 阅读器得出的经验,归纳成五个指标,后续的对比都围绕它展开:
启动速度。启动速度直接决定你是不是愿意把它设成默认打开方式。对经常在文档间跳转的人来说,一个启动要等好几秒的 PDF 软件,哪怕功能再多也嫌烦。
滑动与渲染流畅度。这个指标看的是大数据量 PDF 的实际表现。页数多、图像大、有复杂矢量图形的 PDF,开起来卡不卡、快速翻页时是否明显掉帧,基本能反映一款软件底层渲染的水平。
批注与高亮能力。阅读器能不能加水印式的文字标注,能不能做高亮、下划线、便签,能引出方形或自由画笔,这决定了你是不是能拿它做论文笔记和工作审批。要注意批注的存储格式是否与主流软件互通,否则你标注完发给别人,对方打开全是空白。
表单填写与电子签名。很多 PDF 场景,比如合同、申请表、考试试卷,核心需求是填表单和签名。Linux 上不少阅读器对这一块支持得很弱,需要重点测试。
附加资源占用。内存占用和 CPU 占用也不能忽视。如果你经常同时开十几个 PDF 做资料核对,一个阅读器单开几个页面就吃掉你几个 GB 内存,那肯定不合适。
这五个指标列好之后,再去对应 PDF viewer list 里的每一项,就不会被软件之间眼花缭乱的功能介绍带偏了。
2. 默认与轻量级阅读器实测:Evince、qpdfview、Zathura、MuPDF
2.1 Evince:系统默认的稳定牌
Evince 是 Ubuntu 20.04 自带的 PDF 阅读器,包名叫 evince,你可以在软件列表里找到“Document Viewer”。我第一次拿到 Ubuntu 20.04 时,对它的印象是“规矩”。界面很简洁,左侧是页面缩略图栏,右侧是主页面;支持文本搜索,Ctrl+F 弹出搜索栏,匹配内容高亮显示;打开 PDF 时速度很快,对一般的文档处理得游刃有余。
但别急着把它当主力。Evince 的定位是“文档查看器”,不是“PDF 工作台”。我自己在 Ubuntu 20.04 上用它看论文时,最明显的短板有两个:一是对 PDF 注释的支持极其基础。你确实可以在菜单里选择加高亮或文字注释,但高亮放上去之后,想调整位置大小很麻烦,想导出注释跟别人共享,对方用其他阅读器不一定能看到,兼容性欠佳。二是对表单的处理几乎没有。想填一个 PDF 表单,按了工具栏半天,发现只能当图片看待,输入框根本点不进去。
不过 Evince 也有值得夸的地方。它是 GNOME 官方应用,跟 Ubuntu 20.04 的整体风格、系统主题、桌面环境集成度极高。你装好系统后不需要任何额外配置,双击 PDF 就能看;右键文件,可以直接选“以文档查看器打开”。而且它的内存占用比较低,我实测打开一份 50 页的普通 PDF,占用大约 100MB 多一点的物理内存,在多文档切换的场景下比很多老牌商业阅读器更低调。
2.2 qpdfview:标签页党的福音
如果你是从 Windows 上那个“每开一个 PDF 就是一个新窗口”的使用习惯转过来的,qpdfview 会让你舒服很多。qpdfview 是轻量级的 PDF 阅读器,最核心的优势是支持标签页。你可以把多个 PDF 放进同一个窗口,顶部来回切换,像浏览器一样管理文档。这个功能看似不起眼,实际用起来极其高效。我做文档比对时,经常打开四个 PDF 放在不同的标签页里,Alt+数字键直接跳,窗口不乱。
安装也很简单,Ubuntu 20.04 的官方仓库里就有,一条命令就能搞定:
sudo apt update sudo apt install qpdfviewqpdfview 基于 Qt 开发,和 Ubuntu 20.04 默认的 GNOME 主题可能有些突兀,但不影响使用。它的渲染速度处于中上水平,翻页平滑度比 Evince 要好一些,页面缓存机制也比较成熟。它的批注能力比 Evince 稍微强一点,但还是不能和 Okular 这种多功能选手比。所以我的建议是:如果你平时主要工作就是快速打开、快速翻阅、快速切换多个 PDF,那 qpdfview 是 Ubuntu 20.04 上非常实用的默认阅读器;如果你需要做深度标注,那得另请高明。
2.3 Zathura:键盘驱动的极客选项
说到轻量级 PDF 阅读器,Zathura 是个绕不开的名字。它跟 vim 一样,面向喜欢键盘操作的用户。第一次启动 Zathura 可能有点懵,界面上几乎没有任何按钮,连菜单栏都看不到。但当你顺着它的快捷键开始操作,比如按 Ctrl+O 打开文件,按 j/k 上下翻页,输入 / 搜索文本,按 Tab 切换视图模式,你很快会发现这种“无界面”交互在阅读专业文档时非常爽,你根本不需要把手移动到鼠标上,阅读流一直保持在线。
Zathura 的底层渲染引擎可以选用不同的 PDF 后端,比如 poppler 或 mupdf。在 Ubuntu 20.04 上,常见的安装命令是:
sudo apt install zathura sudo apt install zathura-pdf-poppler配置好了之后,它在快速预览、快速翻页、大 PDF 加载上的表现非常亮眼。我实测过一份 300 多页的彩色图片型 PDF,Evince 打开后滚动有点飘影,Zathura 却能基本保持流畅,内存占用也只有约 50 到 80MB。对老机器和嵌入式场景来说,这是很大优势。
Zathura 的缺点同样明显:对鼠标用户不友好,也基本不提供图形化的批注工具。它的定位是“阅读”,不是“编辑”。如果你要签合同、填表单,建议不要为难 Zathura。它还有一个我很喜欢的点,就是配置简洁,配置写在 ~/.config/zathura/zathurarc 里,你可以自定义背景色、默认缩放、滚动步长,很适合按自己的阅读习惯做微调。
2.4 MuPDF:极速渲染与命令行救急
MuPDF 可能不是大家印象里的“图形阅读器”第一选择,但它在 Ubuntu 20.04 的 PDF viewer list 里是个很有特点的角色。MuPDF 同样是一个轻量级渲染引擎,官方提供了图形界面工具 mupdf,安装方式也很直接:
sudo apt install mupdf直接敲 mupdf 加文件名,它就会打开一个简洁的窗口。界面比 Zathura 还要简陋,几乎没有按钮,全靠快捷键。但就是这么个简陋的软件,渲染速度却快得惊人。我拿一个大尺寸扫描版 PDF 做过对比,MuPDF 是打开最快的,而且快速翻页时几乎没有迟滞感。这得益于它的渲染器针对 PDF 页面做了高度优化,很多大型出版社的电子书就是用这种引擎做内部预览的。
MuPDF 最大的价值其实在命令行工具 mutool。比如你想提取 PDF 里的文字、合并多个 PDF、检查页面信息,都可以用 mutool 快速完成。这个“杀手锏”让 MuPDF 在我心里早就超出了“阅读器”的范畴,变成了一个 PDF 速效工具箱。不过图形界面确实太朴素,不适合日常长时间阅读使用。
为了方便你看这一组的差异,我做了个对比表:
| 软件 | 安装命令 | 界面风格 | 启动速度 | 批注 | 表单 | 内存占用(普通300页PDF) |
|---|---|---|---|---|---|---|
| Evince | 系统自带 | GNOME 标准 | 快 | 基础 | 几乎不能 | 约 100MB |
| qpdfview | apt install qpdfview | Qt 标签页 | 很快 | 弱 | 弱 | 约 80MB |
| Zathura | apt install zathura | 极简键盘流 | 极快 | 无 | 无 | 约 50-80MB |
| MuPDF | apt install mupdf | 极简快捷键 | 极快 | 无 | 无 | 约 60MB |
我的建议是:如果你只打算选一个轻量级阅读器,我推荐 qpdfview,它对普通用户最友好,标签页功能也足够实用;如果你离不开键盘操作,Zathura 会让你打开新世界;如果只是偶尔看个大 PDF 或者需要命令行救急,MuPDF 足够用了。
3. 功能型玩家的选择:Okular、Foxit Reader 与商业方案
第 2 组都是轻量级方案,适合打开、浏览、翻页,顶多做点简单标注。但如果你需要批注、表单、签名、高亮笔记、书签管理等功能,Ubuntu 20.04 上真正能打的其实是下面这几个功能型玩家。
3.1 Okular:批注与协作阅读的平衡点
Okular 是 KDE 生态的文档阅读器,但在 Ubuntu 20.04 上可以无缝使用。它是我个人在 Linux 上比较推荐的通用型 PDF 阅读器,没有之一。安装命令:
sudo apt install okularOkular 给人的第一感觉是功能完善到有点“重”:有目录树、缩略图栏、注释侧边栏、图层列表、书签管理,还可以高亮、下划线、删除线、便签,甚至支持用鼠标绘制任意形状的标注。我平时做论文批注基本都交给 Okular,它把高亮和弹幕评论这两种最常见的需求做得非常顺手。
这里有一个非常重要、很多人不知道的点:Okular 的批注相对于一些国产 PDF 软件来说,兼容性更好。它遵循的是 PDF 标准的注释结构,我在 Ubuntu 20.04 上用 Okular 做的批注,发送到 Windows 上用 Adobe Acrobat Reader 打开,基本都能正常显示。这一点对协作场景真的太关键了,很多免费 PDF 工具做出来的批注是私有格式,换个软件就失踪。Okular 没有这种幺蛾子,可以放心作为主力批注工具。
Okular 在 Ubuntu 20.04 上对表单填写的支持也还不错。普通的文本字段、复选框、单选按钮都能识别,输完内容直接保存,非常方便。电子签名方面,它支持插入图片形式的签名,也就是说你可以把签名的图片准备好,然后拖到 PDF 里对应位置。这已经能满足绝大多数要求。
Of course,Okular 也有缺点:因为基于 KDE 技术栈,第一次启动在 GNOME 桌面下会加载不少 Qt 组件,比轻量级阅读器的启动速度明显慢一些。如果你只是快速看个文件就关,可能会觉得有点笨重。但在功能完整度面前,这个代价我觉得很值。
3.2 Foxit Reader:跨平台协作还是老版本兼容
提到 PDF 阅读器,很多人首先想到的是 Windows 上的福昕阅读器。Foxit Reader 确实有 Linux 版本,也提供了 deb 安装包,是 Ubuntu 20.04 上能直接安装运行的商业级 PDF 阅读器。
Foxit Reader Linux 版的安装逻辑和其他软件不太一样。它没有进官方 apt 仓库,你需要到福昕官网下载 .deb 包,然后手动安装。下载下来后,利用 dpkg 安装:
sudo dpkg -i FoxitReader*.deb sudo apt install -f第二行是为了修复依赖问题,福昕的 deb 包经常会有一些依赖需要自动补充,实测在 Ubuntu 20.04 上这个步骤很重要,跳过容易出现启动报缺库的问题。
Foxit Reader 的最大优势是跨平台协作体验。它沿用了 Windows 版的界面设计,如果你原来的工作流已经熟悉 Foxit,换到 Linux 上基本零学习成本。它的注释系统比较丰富,高亮、选框、文本框、图章都有,还可以在文档中添加超链接。表单填写和电子签名做得也比较成熟,跟 Windows 版的行为保持得很一致。
但有一说一,Foxit Reader 在 Linux 上的更新节奏并不算积极,我用的某个旧版本在 Ubuntu 20.04 上偶尔会遇到输入法无法正常输入的问题,尤其是中文输入法,光标会消失。这个问题据说在新版本上有修复,但如果你安装的是老版本,可能要忍受一下。另外,Foxit 是商业软件,免费版会有广告或升级提醒,体验上不如开源软件那么干净。
3.3 Master PDF Editor 和其他商业方案
还有一个不能漏掉的名字是 Master PDF Editor。它算是 Linux 平台上少有的“瑞士军刀”型 PDF 工具,集阅读、编辑器、表单填充、文件转换、注释于一体。安装方式同样是官网下载 .deb,然后手动安装。
我对 Master PDF Editor 的印象是:界面非常接近桌面编辑器,侧边栏功能很全,甚至能直接修改 PDF 里的文字内容。当然,这个功能涉及 PDF 编辑,不只是“阅读”了。在 Ubuntu 20.04 上如果你需要偶尔做一点轻量级的文字修改、添加页面、裁剪页面,它会是很好用的工具。它对中文的支持也比 Foxit 好一些,我实测中文 PDF 打开没有乱码,表单里的中文输入也正常。
商业 PDF 软件名单里,还有 Adobe Acrobat Reader DC 的 Linux 版本。Adobe 提供了 Linux 版 deb 包,但安装之后你可能会发现:它的界面非常臃肿,启动慢,内存占用高,而且新版已经停止对 Linux 平台的积极更新,更多时候只是“能打开”。我在 Ubuntu 20.04 上装过,用了一次就卸载了,因为性价比太低。如果你不是一定要用 Adobe 生态,建议避开。
市面上还有一些更偏“转换工具”的方案,比如 LibreOffice Draw 也可以打开 PDF 做简单编辑,但它的渲染效果并不理想,对复杂版式的还原度不高,只适合应急。如果你只是想把 PDF 页面重新排一下顺序、删几页、合并几个文件,那用 pdfarranger 更顺手,这是一个以“编辑页面结构”为核心的轻量工具,虽然不是阅读器,却是 PDF 工作流里经常需要的好搭档。
| 软件 | 安装方式 | 批注 | 表单与签名 | 中文兼容 | 启动体感 |
|---|---|---|---|---|---|
| Okular | apt install okular | 很强 | 支持表单、图片签名 | 好 | 中等 |
| Foxit Reader | 官网 deb 包 | 强 | 完善 | 一般,输入法有坑 | 中等 |
| Master PDF Editor | 官网 deb 包 | 强 | 完善 | 好 | 中等偏慢 |
| Adobe Reader DC | 官网 deb 包 | 中 | 一般 | 好 | 慢 |
4. 动手测一遍:启动速度、内存占用与大 PDF 的实际表现
说完了软件阵容,接下来我用自己的 Ubuntu 20.04 环境做了一轮横向测试,把 PVE 里开轻量级虚拟机那套折腾经验拿过来,用真实数据验证一下这些软件到底几斤几两。
4.1 测试环境与方法
先交代测试环境:一台 8GB 内存的笔记本,系统是 Ubuntu 20.04.6 Focal Fossa,桌面环境为 GNOME,处理器是 i5 八代低压版。测试文件分为三份:A 是 20 页的纯文本 PDF,约 3MB;B 是 150 页的图文混排 PDF,约 48MB;C 是 500 页的扫描图片版 PDF,约 220MB。测试时关闭其他大型程序,通过 time 命令统计从命令发出到窗口可以交互的时间,通过 ps 查看稳定后的内存占用。
启动时间我不追求极端精确,因为系统和缓存会对第一次和第二次启动造成影响。我取的是冷启动三次的中位数,也就是每次都先重启相关应用缓存再做统计。这个测试方式不算实验室级,但对日常体验非常有参考价值。
4.2 三个维度实测结果
先看启动时间。轻量级的 Zathura 和 MuPDF 基本上是秒开,冷启动时间都在 0.4 秒到 0.7 秒左右,给人的感觉就是“点了就出来”。qpdfview 紧随其后,冷启动大约在 0.9 秒到 1.2 秒,也很快。Evince 在 GNOME 环境里大约 1.5 秒,如果系统缓存热了会更快。Okular 则要明显慢一些,冷启动测得 2.1 到 2.8 秒,这也是它给我“有点重”印象的原因之一。Foxit Reader 和 Master PDF Editor 就更慢,Foxit 大约 3 秒,Master PDF Editor 在 3.5 秒上下。
再看内存占用。打开 A 文件时,Evince 只用了约 70MB,Zathura 更夸张,只有 38MB,qpdfview 大约 65MB,MuPDF 约 55MB。Okular 一上来就突破了 180MB,Foxit Reader 约 180MB,Master PDF Editor 约 230MB。打开 C 文件后,情况变得更有意思:Evince 一路涨到 400MB 以上,而且滚动时偶尔有明显的加载等待;Okular 能顶住但内存到了 500MB 左右;Zathura 和 MuPDF 涨得不多,Zathura 稳定在 180MB 左右,MuPDF 约 160MB,这个表现让轻量级选手在处理大文件时的优势非常明显。
从流畅度来说,B 文件(150 页图文混排)在 Evince 和 Okular 里滚动都比较顺,Evince 在快速滑动时偶尔有白屏闪烁,Okular 更平滑一些。C 文件(500 页扫描版)则是 Zathura 和 MuPDF 的天下,快速跳页几乎没有迟滞感。Foxit Reader 遇到 C 文件的缩略图加载时,左侧目录切换会有明显卡顿,这也是我后来不再推荐它在 Linux 上啃大 PDF 的原因之一。
4.3 从测试里得出的选型结论
这轮测试给了我几个比较确定的判断。
如果你想要一个默认级别的、不折腾的阅读器,Evince 完全够,而且对正常文档的处理体验并不差。它的问题只是在“重任务”下露怯。
如果你经常处理几十 MB 甚至两三百 MB 的大型 PDF,Zathura 或 MuPDF 是更可靠的选择。它们的内存占用和渲染效率明显优于带完整 UI 的阅读器,代价是你得适应键盘操作。
如果你需要批注、表单和签名,Okular 的综合性价比最高。虽然启动慢一点、内存大一点,但考虑到它的批注兼容性和细节处理,这个代价是完全可以接受的。
如果一定要跟 Windows 上的福昕工作流对齐,就选 Foxit Reader,但注意输入法兼容问题;如果需要临时改 PDF 里的文字,再上 Master PDF Editor。
5. 绕不开的坑与实用技巧:字体、签名、密码与命令行操作
5.1 中文显示与字体替换
Ubuntu 20.04 上 PDF 阅读器最常见的问题之一,就是中文 PDF 显示异常。这个异常有几种情况:一种是整个页面汉字显示为方块或乱码,另一种是某些字体下中文间距怪怪的,还有一种是同一篇 PDF 在不同阅读器里显示效果不一样。
大多数 PDF 会内嵌字体,理论上任何设备都能正确渲染。但很多国产软件生成的 PDF 没有内嵌字体,或者漏嵌了部分子集,这时系统就会去找本机有没有对应字体。Ubuntu 20.04 默认不一定带全中文字体,所以你会看到乱码。解决办法很简单,先把中文字体补齐:
sudo apt install fonts-noto-cjk fonts-noto-cjk-extra装完之后,多数中文 PDF 渲染问题就消失了。如果还遇到个别文档特殊字体,去系统字体目录里手动补齐字体。这里有个经验:补字体后最好重启一下相关应用,或者至少新开一个窗口,不然字体缓存不会及时刷新。
5.2 密码保护和表单填写中的常见问题
工作中经常遇到带密码的 PDF,比如加密的合同、试卷。Ubuntu 20.04 上的阅读器,大部分都能打开普通的密码加密 PDF。在 Evince 里它会弹出输入密码的提示框;在 Okular 里同样会提示。需要注意的是,PDF 有两种加密:一种是打开密码,一种是权限密码。打开密码是必须输错进不去的;权限密码则是限制打印、复制、编辑。大多数阅读器拿到权限密码也还是会限制操作,这是符合规范的,不要试图绕过。
表单填写方面,最麻烦的是有些表单字段是 XFA 表单,也就是动态 XML 表单,而不是传统的 AcroForm。XFA 表单在 Linux 上的支持一直很差,Evince 基本无能为力,Okular 也只能显示部分字段。遇到这种 PDF,我建议直接用 Master PDF Editor,它对 XFA 的支持相对完善,或者让发件方转成常规 PDF 格式。
电子签名则建议提前准备一张透明背景的签名图片,存放在固定位置。Okular 和 Master PDF Editor 插入图片后,都能通过移动和缩放放到合适位置。这里要提醒一个细节:插完签名后,记得导出或保存为新的 PDF 文件,不要直接覆盖原文件,保留一份干净版本,便于后续核对。
5.3 命令行小技巧汇总
最后分享几个我在 Ubuntu 20.04 上常用的 PDF 相关命令行技巧,不算复杂,但关键时刻能省很多事。
在命令行打开某个 PDF 并且跳转到指定页,可以这样:
okular docu.pdf#page=12这条命令会直接打开 docu.pdf 并定位到第 12 页。在写脚本或者快速从终端跳到某一章时非常好用。
用 mutool 从 PDF 里提取文字:
mutool draw -F txt docu.pdf输出会直接打到终端,适合快速检索文本内容,比用图形界面复制粘贴要稳定得多。
用 mutool 合并多个 PDF:
mutool merge a.pdf b.pdf -o merged.pdf这个命令在需要把几个 PDF 拼成一个文件时非常省事。类似的工具还有 pdfunite,也很稳。
想给 PDF 瘦身,可以用 Ghostscript:
ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook -o compressed.pdf input.pdf这是我在 Ubuntu 20.04 上最常用的压缩大 PDF 的方式,压缩率通常能达到 40% 到 70%。不过要注意,扫描版 PDF 压缩后清晰度会下降,压缩前先备份原文件。
还有一个容易被忽略的问题:Ubuntu 20.04 的 apt 仓库里包名有时候和你搜到的软件名不一致,比如 qpdfview 是包名,但软件名叫 qpdfview;Zathura 的 Poppler 插件是独立包,不装全就用不了,所以建议安装后:
sudo apt install zathura zathura-pdf-poppler确保后端插件齐全再运行。
踩过几次坑之后,我现在在 Ubuntu 20.04 上的默认组合已经固定下来:日常快速预览用 qpdfview,深度阅读和批注用 Okular,遇到命令行操作或超大型扫描版 PDF 就开 Zathura。这三个工具互相补充,基本覆盖了我工作中所有 PDF 场景。你不用照抄我的组合,但可以参考我上面的测试结果,按照自己遇到最多的那类文档,从这篇 PDF viewer list 里选一个最顺手的作为主力,再配一个轻量的作为备用。工具不在多,关键是每个都用在合适的场景里。