当前位置: 首页 > 知识库问答 >
问题:

使用重影脚本创建突出显示 PDF 批注

嵇昱
2023-03-14

我有以下包含pdfmark的PostScript文件来创建突出显示注释:

%PS

/Courier 30 selectfont
15 15 moveto
(Test)show

[ /Rect [0 0 80 30]
/Subtype /Highlight
/Color [.8 .8 0]
/QuadPoints [10 40 90 40 10 10 90 10]
/Contents (Test annotation)
/ANN pdfmark

showpage

(请注意,/QuadPoints 字段的坐标与规范定义的顺序不同,因为 Adobe 以不同的方式实现它。

Ghostscript 创建带有注释的 PDF,但有两个问题:

>

  • 它在Adobe Reader和Okular中有效,但在Evince中无法点击
  • 更重要的是:突出显示的区域不是矩形,但具有圆形的左右边缘,如以下屏幕截图所示:

    为什么会这样,我怎样才能获得直边?

  • 共有1个答案

    习胤运
    2023-03-14

    您应该首先查看PDF文件的内容,并查看 Ghostscript(或者更准确地说是 pdf 写器)放入其中的内容。发布一个示例PDF文件来查看也是一个明智的举动,并且还会告诉我们您正在使用哪个版本的Ghostscript。

    顺便说一句,标题应该是%!PS,你漏掉了'!'。当然,因为它是一个注释,所以对PostScript解释器来说并不重要。

    现在这是Adobe Acrobat Distiller的注释输出,使用您问题中的代码:

    1 0 obj
    <</Type/Annot/Subtype/Highlight/Rect[0 0 80 30]/C[.8 .8 0]/QuadPoints[10 40 90 40 10 10 90 10]/Contents(Test annotation)>>
    endobj
    

    这是来自Ghostscript的pdfwrite设备的相同内容:

    8 0 obj
    <</Type/Annot
    /Rect [0 0 80 30]
    /C [0.8 0.8 0]
    /QuadPoints [10 40 90 40 10 10 90 10]
    /Contents(Test annotation)
    /Subtype/Highlight>>endobj
    

    这些基本相同。

    因此,要回答您的问题:

    >

  • 如果它在Acrobat中工作,那么也许您应该问Eincehtml" target="_blank">开发人员这个问题。

    圆形边缘由读取PDF注释的应用程序绘制。因为Acrobat是这样画的,所以其他人也是这样画的(包括Ghostscript的PDF解释器)。如果你不喜欢它,你将不得不改变观看应用程序。

  •  类似资料:
    • 问题内容: 我正在尝试突出显示与查询匹配的文本,但是我不知道如何使标记显示为HTML而不是文本。 当前输出: Java 脚本 所需的输出: Java 脚本 问题答案: 这是我简单的twoliner辅助方法: 它返回一个跨度,其中所请求的零件以标签突出显示。如果需要,可以简单地将其修改为使用其他标签。 更新: 为避免唯一键丢失警告,这是一个基于跨度并为匹配的零件设置fontWeight样式的解决方案

    • 问题内容: 有人可以通过可以在网页上突出显示文本的JavaScript函数来帮助我。要求是-仅突出显示一次,而不是像我们在搜索情况下那样突出显示所有出现的文本。 问题答案: 您可以使用jquery 突出显示效果。 但是,如果您对原始javascript代码感兴趣,请看一下我得到的内容。将复制粘贴到HTML中,打开文件,然后单击“突出显示”-这应该突出显示“ fox”一词。在性能方面,我认为这适用于

    • 问题内容: 我可以高亮显示一些文本,使其从一个值开始,然后从另一个值结束,如下所示,但颜色为黄色吗? “” JTextPane 高亮显示 文本“” 谢谢。 问题答案: 通常,有几种可能性,具体取决于您对“突出显示”的真正含义:-) 通过在文档级别更改任意文本部分的样式属性来突出显示,例如 通过textPane级别上的荧光笔突出显示:

    • 问题内容: 当我有坐标时,pdfbox是否提供一些实用工具来突出显示文本? 文本的界限是已知的。 我知道还有其他库提供相同的功能,例如pdfclown等。但是pdfbox是否提供类似的功能? 问题答案: 好吧,我发现了这一点。很简单。

    • 本文向大家介绍HTML 突出显示,包括了HTML 突出显示的使用技巧和注意事项,需要的朋友参考一下 示例 该<mark>元素是HTML5中的新元素,用于“由于其在另一个上下文中的相关性”而标记或突出显示文档中的文本。1 最常见的示例是用户输入搜索查询并显示结果以突出显示所需查询的搜索结果。 输出: 常见的标准格式是黄色背景上的黑色文本,但是可以使用CSS进行更改。

    • 问题内容: 这更多是一个假设性的问题,我正在为正在计划的项目集思广益,并且很好奇是否有人知道任何API或方法可以在任何窗口上立即获取突出显示的文本,例如从浏览器或文字处理器。它还可能有一个只有在按下时才能读取的键盘命令(类似于CTRL + C,将所选文本添加到剪贴板) 我们将非常感谢您对此有什么API的任何了解。 问题答案: 您可以使用JNA 在前台窗口上实际模拟(复制操作),然后读取剪贴板中的内