diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index f61b83323..7c0e5b32e 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -182,6 +182,8 @@ export class FilePreviewScreenComponent effect(() => { if (this._viewModeService.viewMode()) { this.updateViewMode().then(); + this._logger.info('[PDF] Stamp pdf'); + this._stampService.stampPDF().then(); } }); } @@ -279,8 +281,6 @@ export class FilePreviewScreenComponent } } - this._logger.info('[PDF] Stamp pdf'); - await this._stampService.stampPDF(); this._logger.info('[PDF] Rebuild filters'); this.#rebuildFilters(); this._logger.info('[PDF] Update done'); diff --git a/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts b/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts index f8c66749f..4b110eb24 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts @@ -32,6 +32,7 @@ export class StampService { const file = this._state.file(); const allPages = [...Array(file.numberOfPages).keys()].map(page => page + 1); + await pdfDoc.lock(); try { await clearStamps(pdfDoc, this._pdf.PDFNet, allPages, this._licenseService.activeLicenseKey); } catch (e) { @@ -48,7 +49,8 @@ export class StampService { await this._stampExcludedPages(pdfDoc, file.excludedPages); } - this._documentViewer.refreshAndUpdateView(); + this._documentViewer.refreshAndUpdateView(Array.from({ length: await pdfDoc.getPageCount() }, (_x, i) => i + 1)); + await pdfDoc.unlock(); } private async _stampExcludedPages(document: PDFNet.PDFDoc, excludedPages: number[]): Promise { 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 855708d92..9d2aabf60 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 @@ -120,11 +120,10 @@ export class REDDocumentViewer { } } - refreshAndUpdateView() { - this.#document.refreshAll(); - // do not adjust this page if is compare mode + refreshAndUpdateView(visiblePages: number[]) { const currentPage = this.#document.getCurrentPage(); - this.#document.updateView([currentPage], currentPage); + this.#document.refreshAll(); + this.#document.updateView(visiblePages, currentPage); } resetRotation(pages: number | number[] | string | string[]) { diff --git a/package.json b/package.json index 73a78f74a..532ed736d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "4.129.0", + "version": "4.133.0", "private": true, "license": "MIT", "scripts": {