Annotations et texte natif

Insérez les annotations PDF prises en charge et transformez le texte natif importé en zones de texte modifiables.

Les annotations modifiables sont des overlays persistants. Le texte importé reste natif jusqu'à la promotion d'une plage visible avec la façade.

Insérer des annotations

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

La façade accepte le surlignage, le soulignement, le texte barré, le soulignement ondulé et l'encre. L'encre nécessite des tracés non vides ; les autres sous-types d'annotation du noyau ne sont pas acceptés.

Lire les données et le style d'une annotation

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

getMarkup() et getInk() retournent une géométrie détachée en points PDF. setStyle() modifie le remplissage, le trait et l'opacité pris en charge ; l'opacité doit être comprise entre 0 et 1.

Remplacer le texte natif importé

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

getTextSpans() retourne des snapshots du texte natif actuellement visible et non masqué. replaceText() masque atomiquement l'opération source et insère un FPdfTextBox modifiable à la position capturée.

Un FPdfTextSpan est un handle de snapshot. Après le remplacement, il est obsolète ; énumérez de nouveau getTextSpans() avant l'opération suivante sur le texte natif.

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.