我可以设置哪个 hyperref 变量来使 pdf 打开时在窗口右侧面板中显示“注释”工具?

我可以设置哪个 hyperref 变量来使 pdf 打开时在窗口右侧面板中显示“注释”工具?

我们在查看由软件包pdf生成的文件时使用的是 Adob​​e Acrobat X。为了让不熟悉 Adob​​e Acrobat X 的用户能够更直观地进行评论,我希望 PDF 自动打开,并在文档右侧显示注释工具,如下图所示。这可能吗?我可以设置一些变量来实现这一点吗?pdflatexhyperrefhyperref

“评论”工具

答案1

与书签或缩略图不同,据我所知,PDF 目录中没有注释工具的设置。但 JavaScript 似乎允许这样做,请参阅Acrobat 的 JavaScript API 参考

以下示例在打开文档时添加 JavaScript 操作。该示例是为 pdflatex/lualatex 编写的,并假定hyperref已加载(但后者不是必需的)。

也许菜单项“SaveHideToolbarCommenting”会切换评论工具视图。因此,我还添加了一个调用此菜单项的书签。

示例文件:

\documentclass{article}
\usepackage{hyperref}

% disable hyperref's openaction
\hypersetup{pdfstartpage={}}
% set JavaScript openaction
\pdfcatalog{}openaction user{%
  <<%
    /S/JavaScript%
    /JS(%
      % app.alert("ShowHideToolbarCommenting")%
      app.execMenuItem("ShowHideToolbarCommenting")%
      % app.execMenuItem("SaveAs")%
    )%
  >>%
}\relax

\usepackage[atend]{bookmark}
\bookmarksetup{
  open,
  numbered,
}
\BookmarkAtEnd{% or \AtBeginDocument
  \bookmark[
    startatroot,
    level=0,
    italic,
    rawaction={%
      /S/JavaScript%
      /JS(%
        app.execMenuItem("ShowHideToolbarCommenting")%
      )%
    },
  ]{Toggle Comment Tool}%
}

\begin{document}
\section{Hello World}
\end{document}

编辑: 菜单项字符串也可以在命名操作中使用,这简化了示例并且不需要 JavaScript:

\documentclass{article}
\usepackage{hyperref}

% disabe hyperref's openaction
\hypersetup{pdfstartpage={}}
% set JavaScript openaction
\pdfcatalog{}openaction user{%
  <<%
      /S/Named%
      /N/ShowHideToolbarCommenting%
  >>%
}\relax

\usepackage[atend]{bookmark}
\bookmarksetup{
  open,
  numbered,
}
\BookmarkAtEnd{% or \AtBeginDocument
  \bookmark[
    startatroot,
    level=0,
    italic,
    named=ShowHideToolbarCommenting,
  ]{Toggle Comment Tool}%
}

\begin{document}
\section{Hello World}
\newpage
\section{Second Page}
\end{document}

不幸的是,“ShowHideToolbarCommenting”操作确实会为 OP 打开评论侧栏。在 PDF 目录对象中,可以在一定程度上配置显示书签、缩略图或打开内容组的首选项,但评论不属于其中的一部分。

相关内容