From 5e42627bce6f25659069b3680ebf7d55944d2b43 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 29 Dec 2025 02:00:59 +0200 Subject: [PATCH] chore(client/pdf): basic reaction to annotations --- packages/pdfjs-viewer/scripts/build.ts | 1 + packages/pdfjs-viewer/src/custom.mjs | 21 +++++++++++++++++++++ packages/pdfjs-viewer/viewer/viewer.html | 3 ++- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 packages/pdfjs-viewer/src/custom.mjs diff --git a/packages/pdfjs-viewer/scripts/build.ts b/packages/pdfjs-viewer/scripts/build.ts index c1c29c668..cdaac9827 100644 --- a/packages/pdfjs-viewer/scripts/build.ts +++ b/packages/pdfjs-viewer/scripts/build.ts @@ -4,6 +4,7 @@ const build = new BuildHelper("packages/pdfjs-viewer"); async function main() { build.copy("viewer", "web"); + build.copy("src/custom.mjs", "web/custom.mjs"); build.copy("/node_modules/pdfjs-dist/build/pdf.mjs", "build/pdf.mjs"); build.copy("/node_modules/pdfjs-dist/build/pdf.worker.mjs", "build/pdf.worker.mjs"); } diff --git a/packages/pdfjs-viewer/src/custom.mjs b/packages/pdfjs-viewer/src/custom.mjs new file mode 100644 index 000000000..464f48b21 --- /dev/null +++ b/packages/pdfjs-viewer/src/custom.mjs @@ -0,0 +1,21 @@ +document.addEventListener("webviewerloaded", async () => { + const app = PDFViewerApplication; + await app.initializedPromise; + + app.eventBus.on("documentloaded", () => { + const storage = app.pdfDocument.annotationStorage; + + storage.onSetModified = (data) => { + console.log("Annotations modified: ", all); + storage.resetModified(); + }; + + const oldSetValue = storage.setValue; + storage.setValue = (key, value) => { + console.log("Setting annotation: ", key, value); + oldSetValue.call(storage, key, value); + } + }); +}); + +console.log("Custom script loaded"); \ No newline at end of file diff --git a/packages/pdfjs-viewer/viewer/viewer.html b/packages/pdfjs-viewer/viewer/viewer.html index d45fa11c1..8a34152a6 100644 --- a/packages/pdfjs-viewer/viewer/viewer.html +++ b/packages/pdfjs-viewer/viewer/viewer.html @@ -33,7 +33,8 @@ See https://github.com/adobe-type-tools/cmap-resources - + +