Skip to content

Highlight

The PDFHighlightAnnotation component configures the highlight annotation editor, allowing users to highlight text on the PDF page.

Using this component is optional. It allows you to override default editor parameters and listen events, but if not used, the highlight editor will still work with default parameters as long as editor-type is set to 9.

Import

js
import { PDFHighlightAnnotation } from '@tato30/vue-pdf'

Usage

vue
<script setup>
import { ref } from 'vue'
import { VuePDF, usePDF, PDFHighlightAnnotation } from '@tato30/vue-pdf'
import '@tato30/vue-pdf/style.css'

const { pdf } = usePDF('document.pdf')
const color = ref('#FFEB3B')
const thickness = ref(12)
</script>

<template>
  <VuePDF :pdf="pdf" text-layer annotation-layer editor-layer :editor-type="9">
    <template #editors>
      <PDFHighlightAnnotation :color="color" :thickness="thickness" />
    </template>
  </VuePDF>
</template>

Props

colorOptions

Type: HighlightEditorColors
Required: false
Default:

ts
{
  yellow: ['#FFEB3B', '#FFFFCC'],
  green: ['#8BC34A', '#53FFBC'],
  pink: ['#FFCBE6', '#F6B8FF'],
  red: ['#F44336', '#FF4F5F'],
  blue: ['#2196F3', '#80EBFF'],
}

Custom highlight color options. Each entry maps a color name to a tuple of [normalColor, highContrastColor].

vue
<script setup>
const customColors = {
  yellow: ['#FFEB3B', '#FFFFCC'],
  green: ['#8BC34A', '#53FFBC'],
  orange: ['#FF9800', '#FFD180'],
}
</script>

<PDFHighlightAnnotation :color-options="customColors" />

WARNING

Highlight color options can only be set once during initialization. Changing them after the editor has been created will have no effect.

color

Type: string
Required: true

The color of the highlight. The color value must be one of the values defined in colorOptions.

vue
<PDFHighlightAnnotation color="#FFEB3B"  />

thickness

Type: number
Required: true

The thickness of the highlight.

vue
<PDFHighlightAnnotation :thickness="12" />

INFO

Both color and thickness props are reactive, changing their values will update the editor parameters for new annotations.

Events

colorChanged

Emitted when the color of a highlight annotation has been changed from editor's toolbar.

vue
<PDFHighlightAnnotation @color-changed="onColorChanged" />

Payload:

ts
{
  editor: AnnotationEditor,
  color: string
}