我们在查看由软件包pdf
生成的文件时使用的是 Adobe Acrobat X。为了让不熟悉 Adobe Acrobat X 的用户能够更直观地进行评论,我希望 PDF 自动打开,并在文档右侧显示注释工具,如下图所示。这可能吗?我可以设置一些变量来实现这一点吗?pdflatex
hyperref
hyperref
答案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 目录对象中,可以在一定程度上配置显示书签、缩略图或打开内容组的首选项,但评论不属于其中的一部分。