From 0e610cab0422d05446df1037e3b6fef409d76d6a Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Wed, 31 May 2023 18:48:42 +0200 Subject: [PATCH] Try to not omit some values when printing a choice list with several selected items --- src/core/annotation.js | 18 +++++++++--------- test/pdfs/.gitignore | 1 + test/pdfs/issue16500.pdf | Bin 0 -> 22022 bytes test/test_manifest.json | 15 ++++++++++++++- 4 files changed, 24 insertions(+), 10 deletions(-) create mode 100755 test/pdfs/issue16500.pdf diff --git a/src/core/annotation.js b/src/core/annotation.js index 5520c61e9..e5fa35cda 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -3334,15 +3334,15 @@ class ChoiceWidgetAnnotation extends WidgetAnnotation { const vPadding = (lineHeight - fontSize) / 2; const numberOfVisibleLines = Math.floor(totalHeight / lineHeight); - let firstIndex; - if (valueIndices.length === 1) { - const valuePosition = valueIndices[0]; - const indexInPage = valuePosition % numberOfVisibleLines; - firstIndex = valuePosition - indexInPage; - } else { - // If nothing is selected (valueIndice.length === 0), we render - // from the first element. - firstIndex = valueIndices.length ? valueIndices[0] : 0; + let firstIndex = 0; + if (valueIndices.length > 0) { + const minIndex = Math.min(...valueIndices); + const maxIndex = Math.max(...valueIndices); + + firstIndex = Math.max(0, maxIndex - numberOfVisibleLines + 1); + if (firstIndex > minIndex) { + firstIndex = minIndex; + } } const end = Math.min(firstIndex + numberOfVisibleLines + 1, lineCount); diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 3a8fe4d15..3ebf63d39 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -596,3 +596,4 @@ !issue14755.pdf !issue16473.pdf !bug1529502.pdf +!issue16500.pdf diff --git a/test/pdfs/issue16500.pdf b/test/pdfs/issue16500.pdf new file mode 100755 index 0000000000000000000000000000000000000000..82cd2ab86898cf6008171c450c38e81f0dbf3252 GIT binary patch literal 22022 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