adobe / adobe/pdf-embed-api-samples

Annotations duplicated on addAnnotationsInPDF function

Open
#58 4 comments 6 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
235
Forks
140
PR merge metrics
No merged PRs in 30d

Description

Since latest release today 13th of March using the pdfEmbedAPI using addAnnotationsInPDF 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

### Expected Behaviour

Using addAnnotationsInPDF adds an annotation a single time

![Screen Shot 2024-03-13 at 1 40 10 PM](https://github.com/adobe/pdf-embed-api-samples/assets/105667998/d7b24b29-0077-4375-910a-0c7a30ce20d5)

### Actual Behaviour

addAnnotationsInPDF is adding the annotation twice

![Screen Shot 2024-03-13 at 1 40 23 PM](https://github.com/adobe/pdf-embed-api-samples/assets/105667998/03d17376-e600-465b-a965-0ac8510ef406)

### Reproduce Scenario (including but not limited to)

[Original.pdf](https://github.com/adobe/pdf-embed-api-samples/files/14592328/Original.pdf)

#### Steps to Reproduce

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/sample...](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

#### Platform and Version
Latest version all platforms and modern web browsers

#### Logs taken while reproducing problem

None observerd

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.