Attach (recommended) or Link to PDF file here:

Configuration:
- Web browser and its version: Chrome 91.0.4472.124
- Operating system and its version: Win 10
- PDF.js version: 2.8.335
- Is a browser extension: Nope.

I'm trying to list and extract data form each element of a form created in a PDF file.
I have some image elements detected as Btn (button) and without any indice about the image.

`const items = await pdfPage.getAnnotations();

for (const item of items) {

    // With 'TestImage' as the name of one on my image elements
    if (item.fieldName === 'TestImage') {
        console.log('TestImage', item);
    }
}`

Gives:

TestImage 
{annotationFlags: 4, borderStyle: {…}, color: Uint8ClampedArray(3), contents: "", hasAppearance: true, …}
actions: {Action: Array(1)}
alternativeText: ""
annotationFlags: 4
annotationType: 20
borderStyle:
    dashArray: [3]
    horizontalCornerRadius: 0
    style: 1
    verticalCornerRadius: 0
    width: 0
checkBox: false
color: 
Uint8ClampedArray(3) 
[0, 0, 0]
contents: ""
defaultAppearanceData:
    fontColor: Uint8ClampedArray(3) [0, 0, 0]
    fontName: "HeBo"
    fontSize: 12
defaultFieldValue: null
fieldFlags: 65536
**fieldName: "TestImage"**
**fieldType: "Btn"**
fieldValue: null
hasAppearance: true
hidden: false
id: "57R"
isTooltipOnly: false
modificationDate: null
pushButton: true
radioButton: false
readOnly: false
rect: (4) [383.563, 623.486, 527.808, 744.176]
subtype: "Widget"

Any idea?

In front of that, I'm able to get images from regular image fields (out of Forms) without any context (the  location and the size used in the PDF):


```
// Potential image types
const imagesObjectsTypes = [
    pdfjsLib.OPS.paintImageMaskXObject,
    pdfjsLib.OPS.paintImageMaskXObjectGroup,
    pdfjsLib.OPS.paintImageXObject, // <- 85
    pdfjsLib.OPS.paintInlineImageXObject,
    pdfjsLib.OPS.paintInlineImageXObjectGroup,
    pdfjsLib.OPS.paintImageXObjectRepeat,
    pdfjsLib.OPS.paintImageMaskXObjectRepeat,   
];

const operatorsList = await pdfPage.getOperatorList();

for (let i = 0; i < operatorsList.fnArray.length; i++) {

    const type = operatorsList.fnArray[i];

    if (imagesObjectsTypes.indexOf(type) >= 0) {

        const image = pdfPage.objs.get(operatorsList.argsArray[i][0]);

        console.log('Image detected:')
        console.log(image);
        console.log(operatorsList.argsArray[i]);
    }
}

```
Gives

Image detected:
width: 1067,
height: 600,
kind: 2, data: Uint8ClampedArray(1920600)} data: Uint8ClampedArray(1920600) [ …],
height: 600,
kind: 2,
width: 1067,

0: "img_p0_3"
1: 1067
2: 600

Thank you :)





* @property {number} [length] - The PDF file length. It's used for progress
 *   reports and range requests operations.
 * @property {PDFDataRangeTransport} [range] - Allows for using a custom range
 *   transport implementation.
 * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched
 *   per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.
 * @property {PDFWorker} [worker] - The worker that will be used for loading and
 *   parsing the PDF data.
 * @property {number} [verbosity] - Controls the logging level; the constants
 *   from {@link VerbosityLevel} should be used.
 * @property {string} [docBaseUrl] - The base URL of the document, used when
 *   attempting to recover valid absolute URLs for annotations, and outline
 *   items, that (incorrectly) only specify relative URLs.
 * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are
 *   located. Include the trailing slash.
 * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary
 *   packed or not.
 * @property {Object} [CMapReaderFactory] - The factory that will be used when
 *   reading built-in CMap files. Providing a custom factory is useful for
 *   environments without Fetch API or `XMLHttpRequest` support, such as
 *   Node.js. The default value is {DOMCMapReaderFactory}.
 * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't
 *   embedded in the PDF document will fallback to a system font.
 *   The default value is `true` in web environments and `false` in Node.js;
 *   unless `disableFontFace === true` in which case this defaults to `false`
 *   regardless of the environment (to prevent completely broken fonts).
 * @property {string} [standardFontDataUrl] - The URL where the standard font
 *   files are located. Include the trailing slash.
 * @property {Object} [StandardFontDataFactory] - The factory that will be used
 *   when reading the standard font files. Providing a custom factory is useful