```typescript title="WASM" import init, { extractBytes } from "kreuzberg-wasm"; await init(); const fileInput = document.getElementById("file") as HTMLInputElement; const file = fileInput.files?.[0]; if (file) { const bytes = new Uint8Array(await file.arrayBuffer()); // Build a comprehensive extraction config const config = { use_cache: true, enable_quality_processing: true, output_format: "markdown", include_document_structure: true, // Chunking configuration chunking: { strategy: "semantic", max_chunk_size: 1024, overlap: 100, }, // Image extraction configuration images: { extract_images: true, extract_base64: false, extract_raw_bytes: false, }, // OCR configuration ocr: { backend: "tesseract", languages: ["eng"], enabled: true, }, // HTML-specific extraction options html_options: "article, main, .content", // PDF-specific options pdf_options: { ocr_strategy: "auto", preserve_images: true, }, // Security limits security_limits: { max_archive_size: 524288000, max_file_count: 10000, max_compression_ratio: 100, }, }; try { const result = await extractBytes(bytes, file.type || "application/octet-stream", config); console.log(`Content: ${result.content.substring(0, 100)}...`); console.log(`Language: ${result.metadata?.language ?? "Unknown"}`); console.log(`Chunks: ${result.chunks?.length ?? 0}`); if (result.images?.length) { console.log(`Images: ${result.images.length}`); } } catch (err) { console.error("Extraction failed:", err); } } ```