作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如你所见,圆圈周围有几个ID,我不太清楚他们的配合(很难!)。所以,想知道有没有人有想法,为每个ID附加超链接,意味着通过点击ID,用户转移到相应的网页。
我把代码 HERE
这个圈子,是后记脚本生成的!!
最佳答案
文本是使用这样的结构绘制的:
247 ux 160.65 uy moveto(GH6) show stroke
您需要添加一个 pdfmark 操作,您要使用的确切 pdfmark 取决于您尝试打开的内容以及打开的位置。如果您想打开另一个 PDF 文件,您可以使用带有 GoToR 操作的链接注释,如果您想打开网页,您可以使用启动操作或自定义操作,具体取决于正在查看 PDF 文件的应用程序。我假设您想要启动操作。
Launch pdfmark 应该类似于:
[/Rect [50 425 295 445]/Action /Launch/Border [0 0 2]/Color [.7 0 0]/URI (http://www.adobe.com)/Subtype /Link/ANN pdfmark
显然,您需要计算 Rect 参数,以便单击文本区域将启动目标。
执行此操作的方法是使用 PostScript 路径运算符。首先我们需要保存当前设置,然后将文本转换为路径,然后计算路径的边界框。然后我们可以将这些坐标用于我们的 Rect 参数。
例如:
247 ux 160.65 uy moveto(GH6) dup % copy the string gsave % save the current environament exch % bring the string copy to the top of the stack [ /Rect % Put a mark and name on stack 3 -1 roll % Bring string copy to top true charpath % create a path equivalent to drawing the text flattenpath % flatten curves pathbbox % get the bounding box % we now have our box on the stack % stack is: (GH6) [ /Rect llx lly urx ury % So put the other parameters in place /Action /Launch /Border [0 0 2] /Color [.7 0 0] /URI (www.dummy.com) /Subtype /Link /Ann pdfmark % and execute the pdfmark grestore % put the graphics state back show stroke
一些文本是通过略有不同的习语显示的:
241 ux 84.65 uy moveto(45.0) dup stringwidth pop 2 div neg 0 rmoveto show
你可以做和上面完全一样的事情,只是把 dup...grestore 结构放在 rmoveto 之后和 show 之前。
警告:我根本没有测试过这个,但它应该会告诉你如何继续。
关于pdf - 在 pdf/postscript 中围绕一个圆圈放置超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6902310/
我是一名优秀的程序员,十分优秀!