Files
Stirling-PDF/shared-operations/src/functions/common/getImagesOnPage.ts

24 lines
661 B
TypeScript
Raw Normal View History

import { PDFPageProxy } from "pdfjs-dist/types/src/display/api.js";
2023-11-16 01:06:20 +01:00
2023-11-11 13:33:49 +03:00
import * as PDFJS from 'pdfjs-dist';
2023-11-16 01:06:20 +01:00
export type PDFJSImage = {
width: number;
height: number;
interpolate?: any;
kind: number;
data: Uint8Array;
};
export async function getImagesOnPage(page: PDFPageProxy): Promise<PDFJSImage[]> {
2023-10-27 02:56:13 +02:00
const ops = await page.getOperatorList();
2023-11-16 01:06:20 +01:00
const images: PDFJSImage[] = [];
2023-10-27 02:56:13 +02:00
for (var j=0; j < ops.fnArray.length; j++) {
if (ops.fnArray[j] == PDFJS.OPS.paintImageXObject) {
2023-11-16 01:06:20 +01:00
const image = page.objs.get(ops.argsArray[j][0]) as PDFJSImage;
2023-10-27 02:56:13 +02:00
images.push(image);
}
}
return images;
}