如何让 hyperref 了解 Firefox 扩展的内部协议?

如何让 hyperref 了解 Firefox 扩展的内部协议?

我想在.pdf文件中创建一个超链接,以便在 Zotero 窗格中打开 Firefox,其“URL”为chrome://zotero/content/tab.xul:而不是httpftp,这里使用的协议是chrome,这是 Firefox 用于扩展的内部协议之一。

不幸的是,当点击以下文件生成的链接时什么也没有发生:

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{chrome://zotero/content/tab.xul}{Zotero}%
\end{document}

因此我的问题是,如何了解hyperrefFirefox 扩展的内部协议?

答案1

以下生成更易读的 PDF 文件:

\pdfobjcompresslevel=0

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{chrome://zotero/content/tab.xul}{Zotero}%
\end{document}

页面流仍被压缩,但链接存储在 PDF 文件中未压缩的注释对象中。该文件可以通过文本查看器(或编辑器)检查:

23 0 obj
<<
/Type /Annot
/Border[0 0 1]/H/I/C[0 1 1]
/Rect [147.716 656.239 177.964 665.039]
/Subtype/Link/A<</Type/Action/S/URI/URI(chrome://zotero/content/tab.xul)>>
>>
endobj

可以看出,URL 未发生改变。因此问题在于 PDF 查看器,它不知道如何处理协议chrome,不知道应该启动哪个程序。

相关内容