mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
[Editor] Fix the quadpoints value when serializing an highlight annotation
The coordinates of each point in a box are in the page coordinates system.
This commit is contained in:
parent
8f75e34b6f
commit
30101cbb31
2 changed files with 41 additions and 5 deletions
|
@ -635,18 +635,17 @@ class HighlightEditor extends AnnotationEditor {
|
|||
return this.#isFreeHighlight ? this.rotation : 0;
|
||||
}
|
||||
|
||||
#serializeBoxes(rect) {
|
||||
#serializeBoxes() {
|
||||
if (this.#isFreeHighlight) {
|
||||
return null;
|
||||
}
|
||||
const [pageWidth, pageHeight] = this.pageDimensions;
|
||||
const boxes = this.#boxes;
|
||||
const quadPoints = new Array(boxes.length * 8);
|
||||
const [tx, ty] = rect;
|
||||
let i = 0;
|
||||
for (const { x, y, width, height } of boxes) {
|
||||
const sx = tx + x * pageWidth;
|
||||
const sy = ty + (1 - y - height) * pageHeight;
|
||||
const sx = x * pageWidth;
|
||||
const sy = (1 - y - height) * pageHeight;
|
||||
// The specifications say that the rectangle should start from the bottom
|
||||
// left corner and go counter-clockwise.
|
||||
// But when opening the file in Adobe Acrobat it appears that this isn't
|
||||
|
@ -781,7 +780,7 @@ class HighlightEditor extends AnnotationEditor {
|
|||
color,
|
||||
opacity: this.#opacity,
|
||||
thickness: this.#thickness,
|
||||
quadPoints: this.#serializeBoxes(rect),
|
||||
quadPoints: this.#serializeBoxes(),
|
||||
outlines: this.#serializeOutlines(rect),
|
||||
pageIndex: this.pageIndex,
|
||||
rect,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue