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 值交錯排列,以空格、逗號、分號或 tab 分隔。例如 "100 100 110 105 120 110 | 200 200 210 205" 表示兩條獨立的筆畫。每條筆畫必須至少有兩個座標對(四個數字),且數值總數為偶數,否則呼叫傳回 0。

BorderWidth — 筆跡的筆劃寬度,以目前單位計

InkRed、InkGreen、InkBlue — 筆跡顏色的 RGB 成分(0–1),寫入 /C

Title — 寫入註解 /T 項目的作者名稱。傳入空字串可略過。

Contents — 與註解關聯的彈出視窗內文。傳入空字串可略過

Transparency — 以百分比透明度表示(0–100)。程式庫會換算成 PDF /CA = 1 - Transparency/100 並夾限到有效範圍。

傳回值

成功傳回 1;若未選取任何文件、筆跡字串無法解析成有效的筆畫清單,或無法建立註解則傳回 0

備註

註解 /Rect 由所有筆畫的合併範圍加上與框線寬度成比例的小邊距自動計算,讓描繪出的筆畫保持在註解邊界框內

此進入點同時適合從觸控/手寫筆裝置擷取的數位手寫,以及程式產生的手繪形狀(例如塗鴉式簽名或從其他工具匯入的註解)。建立後要覆寫筆跡顏色、框線、內容或矩形,請用 SetAnnotBorderColor、SetAnnotBorderStyle、SetAnnotContents 與 SetAnnotRect。