diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts index 4e6679ea3..fc85b35ce 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts @@ -105,9 +105,9 @@ export class REDDocumentViewer { this.#pdf.instance.UI.setAnnotationContentOverlayHandler(() => (current ? undefined : false)); } - init(document: DocumentViewer) { + init(document: DocumentViewer, zOrderFlag: number) { this.#document = document; - this.#listenForDocEvents(); + this.#listenForDocEvents(zOrderFlag); this.keyUp$ = this.#keyUp$; } @@ -160,7 +160,7 @@ export class REDDocumentViewer { } } - #listenForDocEvents() { + #listenForDocEvents(zOrderFlag: number) { this.#document.addEventListener('textSelected', (quads: Quad, selectedText: string, pageNumber: number) => { this.selectedText$.next(selectedText); this.#disableTextPopupIfCompareMode(pageNumber); @@ -180,6 +180,8 @@ export class REDDocumentViewer { this.#document.addEventListener('documentLoaded', () => { this.#logger.info('[PDF] Document loaded'); + this.document.setTextExtractorProcessingFlags([zOrderFlag]); + this.#pdf.runWithCleanup(() => { this.#flattenAnnotations().then(); this.#setCurrentPage(); diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/webviewer-loaded.guard.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/webviewer-loaded.guard.ts index 2f6491588..06166a4fc 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/webviewer-loaded.guard.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/webviewer-loaded.guard.ts @@ -35,7 +35,7 @@ export function webViewerLoadedGuard(): CanActivateFn | ResolveFn { } annotationManager.init(instance.Core.annotationManager); - documentViewer.init(instance.Core.documentViewer); + documentViewer.init(instance.Core.documentViewer, instance.Core.TextExtractorProcessingFlags.EXTRACT_USING_ZORDER); viewerHeaderService.init(); return !!pdf.instance;