AddInkAnnotation

注释和热点链接

描述

添加一个墨迹标记批注(PDF /Subtype /Ink),表示在页面上绘制的一笔或多笔手写笔画、自由标记或徒手草图。/InkList 字典条目包含笔画数组;每笔都是交替 x/y 坐标的数组,表示指针设备在落笔和抬笔事件之间描出的路径。颜色分量和不透明度以 0–1 范围表示;Transparency 以 0–100 范围给出(0 = 完全不透明,100 = 完全透明)。由于此入口点会输出 PDF 1.4 批注 /CA 不透明度键,库会在保存前将未锁定的较低版本文档提升至 PDF 1.4;兼容性门会拒绝锁定的较低目标版本。定义于 ISO 32000-1 §12.5.6.13

语法

Delphi

Function TPDFlib.AddInkAnnotation(Const InkPaths: WideString; BorderWidth: Double; InkRed, InkGreen, InkBlue: Double; Const Title, Contents: WideString; Transparency: Integer): Integer;

参数

InkPaths — 编码为单个字符串的一笔或多笔描线。描线由 '|' 或换行符(CR / LF / CRLF)分隔。每笔描线内的坐标对采用与 AddPolygonAnnotation 相同的分隔约定:交替的 x/y 值以空格、逗号、分号或制表符分隔。例如:"100 100 110 105 120 110 | 200 200 210 205" 表示两笔独立描线。每笔描线至少必须包含两个坐标对(四个数字),且总值数必须为偶数,否则调用返回 0

BorderWidth — 当前单位下墨迹的描边宽度

InkRed、InkGreen、InkBlue — 写入 /C 的墨水颜色 RGB 分量(0–1)

标题 — 写入批注'的 /T 条目的作者姓名。传递空字符串可跳过

Contents — 与注释关联的弹出窗口正文,传递空字符串以跳过

透明度 — 以透明百分比表示的不透明度(0–100)。库会将其转换为 PDF /CA = 1 - Transparency/100,并限制在有效范围内

返回值

成功时为 1;未选择文档、墨迹字符串无法解析为有效笔画列表,或无法创建注释时为 0

备注

批注 /Rect 会根据所有描边的组合范围自动计算,并加上与边框宽度成比例的小边距,以使渲染后的描边保持在批注边界框内

此入口点既适用于从触摸/手写笔设备捕获的数字手写内容,也适用于编程创建的自由手绘形状,例如涂写的签名或从其他工具导入的注释。创建后如需覆盖墨迹颜色、边框、内容或矩形,请使用 SetAnnotBorderColor、SetAnnotBorderStyle、SetAnnotContents 和 SetAnnotRect