Retrieve or set the annotation bounding box in React Native

Each annotation has a size and a position, known as the annotation’s bounding box. To access the bounding box of a given annotation, you need to call getAnnotations(type) or getAnnotationsForPage(pageIndex, type) to get the annotation. Then you can access its bounding box (bbox). The value of the bounding box is a rect array instance, which holds the annotation’s size and position in PDF coordinates.

The example below shows how to add a button that displays an alert with the value of the bounding box of the first ink annotation on the first page of the document:

...
export default class App extends Component<{}> {
render() {
return (
<View style={{flex: 1}}>
<PSPDFKitView
document={DOCUMENT}
ref="pdfView"
fragmentTag="PDF1"
style={{flex: 1}}
/>
<View
style={{
flexDirection: 'row',
height: 60,
alignItems: 'center',
padding: 10,
}}>
<View>
<Button
onPress={async () => {
// Get all ink annotations from the first page of document.
const inkAnnotationsJSON = await this.pdfRef?.current?.getDocument().getAnnotationsForPage(
15,
'pspdfkit/ink',
);
const inkAnnotationsArray = inkAnnotationsJSON['annotations'];
const firstInkAnnotation = inkAnnotationsArray[0];
const boundingBox = firstInkAnnotation['bbox'];
// Show an alert with the first ink annotation’s bounding box.
alert(JSON.stringify(boundingBox));
}}
title="Show bounding box"
/>
</View>
</View>
</View>
);
}
}
...

bounding box alert