在现有窗口中打开 PDF

在现有窗口中打开 PDF

目前,我可以通过键入以下内容在 Evince(比如说)中打开 PDF

$ evince document1.pdf

然后命令

$ evince document2.pdf

启动 Evince 的第二个实例并在该实例中打开新文档。这不是我想要的。相反,我希望能够向(正在运行的)实例发送信号,使其打开新文档在那种情况下。据我所知,这对于 Evince 或 XPDF 都是不可能的。

我需要使用 shell 命令(而不是“文件”->“打开”)来编写脚本。

有没有一款 PDF 软件可以让我做到这一点?

动机:TeXStudio 程序是一个 TeX 编译器,与 PDF 查看器捆绑在一起。当用户按下按钮时,TeX 源代码将被编译为 PDF,并且 PDF 文件将显示在单独的窗口中。如果此窗口已打开,程序将在现有窗口中显示 PDF 内容。我想在平铺窗口管理器中使用平铺 Vim 和 Evince 窗口来复制此功能,并使用链接两者的适当插件。

答案1

表明如果发生更改,则会重新加载 pdf 文件,因此您可以使用虚拟文件来覆盖要显示的 pdf 文件。

            # preview dummy file, a blank pdf maybe.
            cp blank.pdf dummy.pdf
            evince dummy.pdf

            # show document1.pdf
            cp document1.pdf dummy.pdf

            # later..., show document2.pdf
            cp document2.pdf dummy.pdf

            # restore the default file
            cp blank.pdf dummy.pdf

答案2

您可以使用 qpdfview 在同一窗口但不同选项卡下打开文档:

$ qpdfview --unique --instance texview file.pdf

如果该实例不存在,则会生成带有该实例 ID 的新窗口,或者在现有实例的新选项卡中打开文件。

这里唯一的缺点是它不会关闭以前打开的文件。

相关内容