使用 pdfmark ann 向 postscript 图像添加工具提示

使用 pdfmark ann 向 postscript 图像添加工具提示

请问如何使用 pdfmark 注释将鼠标悬停在“工具提示”上添加到 PostScript 图像上?

我正在从几百张 Postscript 图像编译出一个大型 PDF,并有一个 Perl 脚本可以自动向每张 Postscript 图像添加超链接以帮助导航(然后使用\includegraphics)。我使用如下所示的 pdfmark 代码作为超链接,但是与此链接关联的工具提示代码应该是什么样的?

[ /Rect [ 1294 1037 1799 2837 ]
/Dest /pi_target_child
/Border [0 0 2]
/Color [.7 0 0]
/Subtype /Link
/ANN pdfmark

我看过了pdfmark 文档但无法确定这是否可行。我尝试将 /Title(我的工具提示文本)添加到上面,但没有成功。

==编辑==

我发现了小部件子类型,并且可以向图像添加工具提示,但不幸的是,这破坏了超链接。当鼠标悬停在超链接部分上时,鼠标光标从箭头变为(正确)手形,但左键单击不会离开... 快到了!?

[ /Subtype /Widget
/Rect [ 1294 1037 1799 2837 ]
/F 4
/TU (My tooltip)
/T (tooltip \thetooltip)
/FT /Btn
/DA (/Helv 0 Tf 0 0 1 rg)
/Ff 65536
/ANN pdfmark

答案1

由于/Link注释不显示工具提示,因此/Widget必须使用注释。但是,注释中的目标规范/Widget与注释不同/Link。目标必须嵌入到以下类型的操作字典中/GoTo

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx,hyperref,filecontents}

%%%%%% postscript file with embedded Widget annotations %%%%%%
\begin{filecontents*}{cross.ps}
%!PS-Adobe-1.0
%%BoundingBox: 0 0 100 100

0 0 moveto 50 50 rlineto stroke
0 50 moveto 50 -50 rlineto stroke

[ /Subtype /Widget
/Rect [0 0 50 50]
/F 4
/TU (Lower left)  %used as tooltip text
/T (Lower left)   %unique Widget name
/FT /Btn 
/Ff 65536
/A <</S/GoTo /D/llcross>>
/ANN pdfmark

50 50 moveto 50 50 rlineto stroke
50 100 moveto 50 -50 rlineto stroke

[ /Subtype /Widget
/Rect [50 50 100 100]
/F 4
/TU (Upper right)
/T (Upper right)
/FT /Btn
/Ff 65536
/A <</S/GoTo /D/urcross>>
/ANN pdfmark
\end{filecontents*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\includegraphics{cross}
\newpage
\hypertarget{llcross}{You clicked the lower left cross.}
\newpage
\hypertarget{urcross}{You clicked the upper right cross.}
\end{document}

确保所有Widget注释名称都是唯一的(/T (unique name))。

答案2

下面是两个工具提示的示例,标记为 ?。您可以使用\rput[lt](0,0){\includegraphics{..}}或不用 来绘制轴\rput

\documentclass{article}
\usepackage{pst-plot}
\usepackage{hyperref}
\newcounter{tooltip}
\newcommand\tooltip[2]{%
% arg #1: text to put on the page
% arg #2: tooltip text
  \pdfmark[#1]{
    pdfmark=/ANN,
    Subtype=/Widget,
    Raw={
      /TU (#2)/T (tooltip \thetooltip)
      /FT/Btn/Ff 65536/H/N
    }
  }%
  \stepcounter{tooltip}%
}

\begin{document}

\begin{center}
\begin{pspicture}(-4,-4)(4,4)
  \psaxes{->}(0,0)(-4,-4)(4,4)
  \rput[c](0,0){\tooltip{\color{red}?}{Origin}}
  \rput[c](4,4){\tooltip{\color{red}?}{top right}}
  \rput[c](-4,-4){\tooltip{\color{red}?}{bottom left}}
\end{pspicture}
\end{center}

\end{document}

需求latex->dvips->ps2pdf

相关内容