From 9ee82251148720c7dfd312a05eae8c93b3628b6f Mon Sep 17 00:00:00 2001 From: abdullahalam123 Date: Sat, 15 Nov 2025 20:25:30 +0530 Subject: [PATCH] fix(pdfjs-annotation-viewer): initialize konvaClientRect dimensions and add HASH_PARAMS implementation Updated the pdfjs-annotation-extension-testdata.json to set default dimensions for konvaClientRect to zero. Added a HASH_PARAMS implementation in viewer.html to handle hash parsing, ensuring compatibility with the pdfjs-annotation-extension bundle and preventing runtime errors. --- .../pdfjs-annotation-extension-testdata.json | 8 +++---- .../pdfjs-annotation-viewer/web/viewer.html | 21 +++++++++++++++++++ public/pdfjs-viewer/viewer.mjs | 4 ++-- src/js/logic/add-stamps.ts | 5 ----- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/public/pdfjs-annotation-viewer/pdfjs-annotation-extension-testdata.json b/public/pdfjs-annotation-viewer/pdfjs-annotation-extension-testdata.json index 0e8d522..c7460f4 100644 --- a/public/pdfjs-annotation-viewer/pdfjs-annotation-extension-testdata.json +++ b/public/pdfjs-annotation-viewer/pdfjs-annotation-extension-testdata.json @@ -124,10 +124,10 @@ "pageNumber": 1, "konvaString": "{\"attrs\":{\"name\":\"PdfjsAnnotationExtension_shape_group\",\"id\":\"DLCK62zxdu1ge6Iuo7vtk\"},\"className\":\"Group\",\"children\":[{\"attrs\":{\"x\":89.00000000000001,\"y\":280.6,\"base64\":\"data:image/png;base64,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\"},\"className\":\"Image\"}]}", "konvaClientRect": { - "x": null, - "y": null, - "width": null, - "height": null + "x": 0, + "y": 0, + "width": 0, + "height": 0 }, "title": "laomai", "type": 9, diff --git a/public/pdfjs-annotation-viewer/web/viewer.html b/public/pdfjs-annotation-viewer/web/viewer.html index 2ec01d2..d3a5a53 100644 --- a/public/pdfjs-annotation-viewer/web/viewer.html +++ b/public/pdfjs-annotation-viewer/web/viewer.html @@ -34,6 +34,27 @@ See https://github.com/adobe-type-tools/cmap-resources + diff --git a/public/pdfjs-viewer/viewer.mjs b/public/pdfjs-viewer/viewer.mjs index d0080dd..6e3c778 100644 --- a/public/pdfjs-viewer/viewer.mjs +++ b/public/pdfjs-viewer/viewer.mjs @@ -785,7 +785,7 @@ const defaultOptions = { kind: OptionKind.VIEWER + OptionKind.PREFERENCE }, enableSignatureEditor: { - value: true, + value: false, kind: OptionKind.VIEWER + OptionKind.PREFERENCE }, enableUpdatedAddImage: { @@ -1531,7 +1531,7 @@ class BasePreferences { enablePermissions: false, enablePrintAutoRotate: true, enableScripting: true, - enableSignatureEditor: true, + enableSignatureEditor: false, enableUpdatedAddImage: false, externalLinkTarget: 0, highlightEditorColors: "yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F,yellow_HCM=#FFFFCC,green_HCM=#53FFBC,blue_HCM=#80EBFF,pink_HCM=#F6B8FF,red_HCM=#C50043", diff --git a/src/js/logic/add-stamps.ts b/src/js/logic/add-stamps.ts index 4c2f5e4..d2abbee 100644 --- a/src/js/logic/add-stamps.ts +++ b/src/js/logic/add-stamps.ts @@ -91,11 +91,6 @@ function setupAnnotationViewer(iframe: HTMLIFrameElement) { stampBtn.disabled = false } - const AnnotationEditorType = win.pdfjsLib?.AnnotationEditorType - if (app?.pdfViewer && AnnotationEditorType?.STAMP != null) { - app.pdfViewer.annotationEditorMode = AnnotationEditorType.STAMP - } - const root = doc.querySelector('.PdfjsAnnotationExtension') as HTMLElement | null if (root) { root.classList.add('PdfjsAnnotationExtension_Comment_hidden')