单击书签打开非 PDF 文件

单击书签打开非 PDF 文件

我知道可以使用书签打开 PDF 文件。但是是否可以通过点击书签来打开非 PDF 文件

我已经阅读了所有文件超链接书签包,但找不到任何信息或示例。

我猜这是可能的,因为 Acrobat 可以让你做到这一点...我只是不知道如何使用 Latex 来做到这一点。

编辑:非 PDF 文件使用 \embeddedfile 嵌入,可以在 PDF 附件中找到。

答案1

该包bookmark还支持书签中的 URI 操作,可用于链接到其他文件或 URL。

\documentclass{article}
\usepackage{hyperref}
\usepackage{bookmark}
\bookmarksetup{open,numbered}
\begin{document}
\section{Hello World}
\bookmark[
  level=subsection,
  uri={https://tex.stackexchange.com/},
]{URI: TeX.SX}
\end{document}

但是,这取决于 PDF 查看器对其的支持程度。

打开嵌入的文件

感谢 Max Wyss评论,该示例可以扩展。嵌入example-image.png来自包的文件mwe并创建书签,将文件保存到临时位置并根据 PDF 查看器和操作系统配置打开文件。打开文件之前可能会发出安全警告。AR 关闭时会删除临时文件。

如果参数nLaunch设置为0,则仅保存文件。如果值为1,则保存并启动文件。

cDIPath当文件被永久保存时,除非参数设置为与当前文档无关的绝对路径或相对路径,否则会要求用户提供一个位置。

“Acrobat 的 JavaScript API 参考”更多细节。

\documentclass{article}
\usepackage{hyperref}
\usepackage{bookmark}
\bookmarksetup{open,numbered}
\usepackage{embedfile}
\begin{document}
\section{Embedded example image}
\embedfile[
  id={example-image},
  desc={example image from package mwe},
]{example-image.png}
\bookmark[
  level=subsection,
  rawaction={%
    /S/JavaScript/JS(%
      this.exportDataObject({cName: "example-image.png", nLaunch: 2})%
    )%
  },
]{Embedded: example-image.png}
\bookmark[
  level=subsection,
  uri={https://tex.stackexchange.com/},
]{URI: TeX.SX}
\end{document}

相关内容