註解與原生文字

插入受支援的 PDF 註解,並將匯入的原生文字提升為可編輯文字方塊。

可編輯註解是持久覆蓋層。匯入文字會保持原生狀態,直到透過 Facade 提升某個可見文字片段。

插入註解

TypeScript
const highlight = page.insertAnnotation({  annotationType: univerAPI.Enum.PdfAnnotationType.HIGHLIGHT,  left: 36,  top: 72,  width: 180,  height: 18,  markup: {    color: '#fde047',    opacity: 0.6,  },})

Facade 插入支援醒目提示、底線、刪除線、波浪線和筆跡註解。筆跡必須包含非空路徑;此插入 API 不接受其他核心註解子類型。

讀取註解資料與樣式

TypeScript
const markup = highlight.getMarkup()const style = highlight.getStyle()highlight.setStyle({  stroke: { color: '#ca8a04', width: 1 },  opacity: 0.75,})

getMarkup() 和 getInk() 傳回以 PDF 點表示的分離幾何。setStyle() 更新受支援的填滿、筆畫和不透明度;不透明度必須介於 0 和 1 之間。

取代匯入的原生文字

TypeScript
const matchingSpan = page  .getTextSpans()  .find((span) => span.getText().includes('Draft'))if (matchingSpan) {  const textBox = matchingSpan.replaceText('Final')  textBox.setTextStyle({ bold: true })}

getTextSpans() 傳回目前可見且未被抑制的原生文字快照。replaceText() 會不可分地抑制來源操作,並在擷取位置插入可編輯的 FPdfTextBox。

FPdfTextSpan 是快照控制代碼。取代後該控制代碼即失效,因此下一次原生文字操作前應重新列舉 getTextSpans()。

你覺得這篇文檔如何?

© 2026 DreamNum Co., Ltd.