Skip to main content
Participant
March 13, 2024
Question

Annotations duplicated on addAnnotationsInPDF function

  • March 13, 2024
  • 2 replies
  • 2636 views

Since latest release today 13th of March using the pdfEmbedAPI

addAnnotationsInPDF

https://developer.adobe.com/document-services/docs/overview/pdf-embed-api/howtos_comments/#addannotations-api

function results in the annotation added twice on any given PDF, issue happening on all browsers and accross operating systems (tested on Macos, Linux, Windows)

Every type of PDF is causing the issue and its consistent on both our application and the example repository provided by Adobe https://github.com/adobe/pdf-embed-api-samples

Code to replicate:
- Pull the latest release of the PDFEmbed api sample
- On https://github.com/adobe/pdf-embed-api-samples/blob/master/More%20Samples/React%20Samples/src/samples/LocalPDFFilePreview.js override this function to delete and all back all markers

    onFileUpload = event => {
        event.persist();
        this.viewSDKClient.ready().then(() => {
            const files = event.target.files;
            if (files.length > 0 && this.isValidPDF(files[0])) {
                const fileName = files[0].name;
                const reader = new FileReader();
                reader.onloadend = e => {
                    const filePromise = Promise.resolve(e.target.result);
                    /* Helper function to render the file using PDF Embed API. */
                    viewSDKClient
                        .previewFileUsingFilePromise(
                        "pdf-div",
                        filePromise,
                        fileName,
                        previewConfig
                    )
                    .then((adobeViewer) => {
                    adobeViewer.getAnnotationManager().then((annotationManager) => {
                        annotationManager
                        .removeAnnotationsFromPDF()
                        .then((result) => {
                            annotationManager
                            .addAnnotationsInPDF(result["annotations"])
                            .then((result) => {
                                console.log(result);
                            })
                            .catch((error) => console.log(error));
                        })
                        .catch((error) => console.log(error));
                    });
                    });
                };
                reader.readAsArrayBuffer(files[0]);
            }
        });
    }

- Upload the provided PDF

- Make a simple change to trigger download
- Download new PDF with duplicated annotations

Provided screenshot of PDF opened on Adobe Acrobat PRO before and after as well as PDF to reproduce and with the issue

This topic has been closed for replies.

2 replies

Raymond Camden
Community Manager
Community Manager
March 13, 2024

Ah I apologize, you are using the API to _add_ an annotation. Let me see if I can test this. 

Raymond Camden
Community Manager
Community Manager
March 13, 2024

So, I am not able to confirm that adding an annotation via the API returns 2 annotations. What I can confirm is that getting annotations, no matter how many, seems broken. 

 

https://codepen.io/cfjedimaster/pen/MWRjgzJ?editors=1111

 

 

Participant
March 13, 2024

Using the addAnnotation call generates the annotation twice but it won't show up until you download the PDF file

Raymond Camden
Community Manager
Community Manager
March 13, 2024

I'm not sure about the demo code, but I've got a CodePen here - https://codepen.io/cfjedimaster/pen/zYJEMem?editors=1011 - that on annotations will dump out the annotations to the web page. If I do one, like a freehand draw, when the code that gets annotations is run, it only shows one. 

 

What are you seeing if you try my code?