自 OS X 10.12 (Sierra) 以来,内置预览以及 OS X 上的许多其他 PDF 查看器(例如 Skim)都出现了许多问题,其中包括以下渲染问题:
- 该页面首先以低分辨率呈现,其中包含模糊的文本和图形。
- 大约一秒钟后(!),页面以高保真度呈现。
- 显示屏“抖动”,因为高保真页面上的文本和图形大约向上移动了一个或两个像素。
示例代码:
\documentclass{beamer}
\begin{document}
\begin{frame}{Duke says}
\begin{itemize}
\item<+-> It don't mean a thing, if it ain't got that swing
\item<+-> (doo-ah, doo-ah, doo-ah, doo-ah, doo-ah, doo-ah, doo-ah, doo-ah)
\item<+-> It don't mean a thing all you got to do is sing
\item<+-> (doo-ah, doo-ah, doo-ah, doo-ah, doo-ah, doo-ah, doo-ah, doo-ah)
\end{itemize}
\end{frame}
\end{document}
虽然人们在阅读屏幕上的文档时可能会认为这是可以接受的,但对于使用动画进行演示的投影仪演示来说,这简直是一场灾难。低分辨率的显示和抖动让观众感到不适,而 1 秒的渲染时间让基于 PDF 的动画无法实现。
因此,我正在寻找一个适用于 OS X 的 PDF 查看器,它不会出现这些问题,但适合呈现基于投影仪的幻灯片。要求:
- 按页面全屏/演示模式,屏幕上只有页面而没有其他内容
- 清晰高保真显示
- 快速渲染时间
不幸的是,问题的根源在于 Apple 自己的 PDFKit 库,该库是 OS X 上大多数 PDF 查看器的基础。因此,我正在寻找不基于 PDFKit 但满足上述要求的 PDF 查看器。
我当然知道 Acrobat Reader DC。但是,我并不特别喜欢它的字体渲染(要求 2),而且我更喜欢更轻量级的。我还有 PDFExpert,它也不是基于 PDFKit 的,但是不支持呈现模式(要求 1)。
答案1
preview.app
可以使用以下应用程序避免渲染 PDF 时的延迟(它们都可以通过homebrew
):
Daniel 的补充评论
- 对于喜欢 MacPorts 的用户:目前 MacPorts 仅提供 X11 版本,这些版本不适合全屏显示。
homebrew
变体是原生的。您可以安装它们而不会对您的 MacPorts 设置造成任何损害。 - 图形
Présentation.app
和基于控制台的pdfpc
采用双屏设置,并为演示者提供下一张幻灯片、已用时间等显示。两者都在内部预渲染 PDF 页面。根据幻灯片的复杂程度(透明度有很大影响),这可能需要一段时间。但是,演示文稿输出是高超。 - 显然,
xpdf
不进行预渲染。虽然总体来说速度很快,但切换到新幻灯片会导致闪烁。
更新
我会推荐幻灯片导航来自 Codeys回答,它就能正常工作
答案2
幻灯片导航是适用于 macOS 的双屏 PDF 查看器,提供预渲染和缓存PDF 页面以及许多其他页面特征. 当加载文档时,SlidePilot 开始在后台渲染前 200 页并将其保存到缓存中。
如果您的文档有超过 200 页,当您点击演示文稿时,一旦您接近未渲染的页面,应用程序将开始在后台渲染接下来的页面并将它们保存到缓存中,并从缓存中删除旧页面。这样,您几乎总是拥有即将显示的缓存中的页面。
缓存限制为 200 页,并可自行清理,以便用户内存不会过满。(使用NSCache
)
如果你有兴趣,可以阅读 SlidePilot 中使用的预渲染和缓存机制的更多信息文档。
SlidePilot 可以下载来自官方网站。
免责声明:我是开发者