diff --git a/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts index 56e34e4d7..acc4b9e9a 100644 --- a/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts @@ -14,6 +14,7 @@ import { Dossier, IAddRedactionRequest, ILegalBasisChangeRequest, IRectangle, IR import { AppStateService } from '../../../state/app-state.service'; import { toPosition } from '../utils/pdf-calculation.utils'; import { AnnotationDrawService } from './annotation-draw.service'; +import { translateQuads } from '../../../utils'; import Annotation = Core.Annotations.Annotation; @Injectable() @@ -410,6 +411,8 @@ export class AnnotationActionsService { viewerAnnotation.setRotationControlEnabled(false); annotationManager.redrawAnnotation(viewerAnnotation); annotationManager.selectAnnotation(viewerAnnotation); + + this._annotationDrawService.annotationToQuads(viewerAnnotation, viewer); } acceptResize( @@ -517,7 +520,11 @@ export class AnnotationActionsService { const words = []; const rectangles: IRectangle[] = []; for (const quad of viewerAnnotation.Quads) { - const rect = toPosition(viewerAnnotation.getPageNumber(), await page.getPageHeight(), quad); + const rect = toPosition( + viewerAnnotation.getPageNumber(), + viewer.Core.documentViewer.getPageHeight(viewerAnnotation.getPageNumber()), + this._translateQuads(viewer, viewerAnnotation.getPageNumber(), quad), + ); rectangles.push(rect); const pdfNetRect = new viewer.Core.PDFNet.Rect( rect.topLeft.x, @@ -536,7 +543,7 @@ export class AnnotationActionsService { } else { const rect = toPosition( viewerAnnotation.getPageNumber(), - await page.getPageHeight(), + viewer.Core.documentViewer.getPageHeight(viewerAnnotation.getPageNumber()), this._annotationDrawService.annotationToQuads(viewerAnnotation, viewer), ); return { @@ -546,6 +553,11 @@ export class AnnotationActionsService { } } + private _translateQuads(viewer: WebViewerInstance, page: number, quads: any) { + const rotation = viewer.Core.documentViewer.getCompleteRotation(page); + return translateQuads(page, rotation, quads); + } + private async _extractTextFromRect(viewer: WebViewerInstance, page: Core.PDFNet.Page, rect: Core.PDFNet.Rect) { const txt = await viewer.Core.PDFNet.TextExtractor.create(); txt.begin(page, rect); // Read the page.