Merge pull request #15089 from calixteman/editor_overlap

Correctly order added annotations when saving or printing
This commit is contained in:
calixteman 2022-06-23 18:29:27 +02:00 committed by GitHub
commit eace7e4c63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 24 deletions

View File

@ -245,9 +245,9 @@ class AnnotationFactory {
static async saveNewAnnotations(evaluator, task, annotations) {
const xref = evaluator.xref;
let baseFontRef;
const results = [];
const dependencies = [];
const promises = [];
for (const annotation of annotations) {
switch (annotation.annotationType) {
case AnnotationEditorType.FREETEXT:
@ -266,7 +266,6 @@ class AnnotationFactory {
FreeTextAnnotation.createNewAnnotation(
xref,
annotation,
results,
dependencies,
{ evaluator, task, baseFontRef }
)
@ -274,20 +273,13 @@ class AnnotationFactory {
break;
case AnnotationEditorType.INK:
promises.push(
InkAnnotation.createNewAnnotation(
xref,
annotation,
results,
dependencies
)
InkAnnotation.createNewAnnotation(xref, annotation, dependencies)
);
}
}
await Promise.all(promises);
return {
annotations: results,
annotations: await Promise.all(promises),
dependencies,
};
}
@ -1360,13 +1352,7 @@ class MarkupAnnotation extends Annotation {
this._streams.push(this.appearance, appearanceStream);
}
static async createNewAnnotation(
xref,
annotation,
results,
dependencies,
params
) {
static async createNewAnnotation(xref, annotation, dependencies, params) {
const annotationRef = xref.getNewRef();
const apRef = xref.getNewRef();
const annotationDict = this.createNewDict(annotation, xref, { apRef });
@ -1385,7 +1371,7 @@ class MarkupAnnotation extends Annotation {
: null;
writeObject(annotationRef, annotationDict, buffer, transform);
results.push({ ref: annotationRef, data: buffer.join("") });
return { ref: annotationRef, data: buffer.join("") };
}
static async createNewPrintAnnotation(xref, annotation, params) {

View File

@ -314,7 +314,6 @@ class Page {
...newData.annotations
);
this.xref.resetNewRef();
return objects;
}

View File

@ -6638,8 +6638,7 @@
"fontSize": 10,
"value": "Hello World",
"pageIndex": 0,
"rect": [67.5, 543, 119, 556.5],
"orderIndex": 0
"rect": [67.5, 543, 119, 556.5]
},
"pdfjs_internal_editor_1": {
"annotationType": 15,
@ -6662,8 +6661,7 @@
]
}],
"pageIndex": 0,
"rect": [71.5, 534.5, 115, 562],
"orderIndex": 1
"rect": [71.5, 534.5, 115, 562]
}
}
}