35 lines
916 B
TypeScript
35 lines
916 B
TypeScript
import type { ExtractionConfig } from "@kreuzberg/wasm";
|
|
import { extractBytes, initWasm } from "@kreuzberg/wasm";
|
|
|
|
async function extractImageMetadata() {
|
|
await initWasm();
|
|
|
|
const bytes = new Uint8Array(await fetch("document.pdf").then((r) => r.arrayBuffer()));
|
|
|
|
const config: ExtractionConfig = {
|
|
images: {
|
|
extractImages: true,
|
|
targetDpi: 150,
|
|
},
|
|
};
|
|
|
|
const result = await extractBytes(bytes, "application/pdf", config);
|
|
|
|
if (result.images) {
|
|
result.images.forEach((image, index) => {
|
|
console.log(`Image ${index}:`, {
|
|
format: image.format,
|
|
width: image.width,
|
|
height: image.height,
|
|
pageNumber: image.pageNumber,
|
|
colorspace: image.colorspace,
|
|
bitsPerComponent: image.bitsPerComponent,
|
|
isMask: image.isMask,
|
|
dataSize: image.data.byteLength,
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
extractImageMetadata().catch(console.error);
|