From 9d4ea52bcf8e68bb664fba879ce4e79e3a6cc174 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Thu, 18 Nov 2021 10:15:56 +0200 Subject: [PATCH] RED-2717 --- .../services/annotation-actions.service.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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.