diff --git a/src/core/evaluator.js b/src/core/evaluator.js index d974b75a593c0..27522fdae97dd 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -2982,7 +2982,7 @@ class PartialEvaluator { currentTextState !== textState && (currentTextState.fontSize !== textState.fontSize || (currentTextState.fontName !== textState.fontName && - (currentTextState.font.name !== textState.font.name || + (currentTextState.font?.name !== textState.font.name || currentTextState.font.vertical !== textState.font.vertical))) ) { flushTextContentItem(); diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 6db7cfe8b5073..a2e1bee608caa 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -157,6 +157,7 @@ !issue14023.pdf !issue14438.pdf !issue14999_reduced.pdf +!issue22381.pdf !bad-PageLabels.pdf !decodeACSuccessive.pdf !issue13003.pdf diff --git a/test/pdfs/issue22381.pdf b/test/pdfs/issue22381.pdf new file mode 100644 index 0000000000000..54fa43b5c00fe Binary files /dev/null and b/test/pdfs/issue22381.pdf differ diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js index a9b4cd9a28cf1..b5b9646ec011a 100644 --- a/test/unit/api_spec.js +++ b/test/unit/api_spec.js @@ -5600,6 +5600,19 @@ have written that much by now. So, here’s to squashing bugs.`); await loadingTask.destroy(); }); + it("gets text content with zero initial font size (issue 22381)", async function () { + const loadingTask = getDocument(buildGetDocumentParams("issue22381.pdf")); + const pdfDoc = await loadingTask.promise; + const pdfPage = await pdfDoc.getPage(1); + const { items } = await pdfPage.getTextContent({ + disableNormalization: true, + }); + const text = mergeText(items); + expect(text).toEqual("hiddenVisible text"); + + await loadingTask.destroy(); + }); + it("gets empty structure tree", async function () { const tree = await page.getStructTree();