Skip to Content
GuíasNavegador

Navegador

Instala @dragon708/docmind-browser y @dragon708/docmind-shared. La analyzeFile pública acepta File, Blob o ArrayBuffer. Las opciones son BrowserAnalyzeOptions: signal, ocr (p. ej. { langs: "eng", mode: "auto" } en imágenes) y docx — mismas ideas include / html que en Node (AnalyzeDocxIncludeFlags desde @dragon708/docmind-docx). Sigue sin haber pipeline PDF en el navegador.

PDF: la entrada de navegador no ejecuta el mismo stack PDF que Node. Usa @dragon708/docmind-node o tu propia ruta en servidor para PDF.

Epic 1 — getCapabilities / explainAnalysisPlan

Mismas entradas que analyzeFile (File / Blob / ArrayBuffer). getCapabilities devuelve un informe de capacidades según el tipo detectado (el PDF en navegador aparece como no equivalente a Node). explainAnalysisPlan acepta intent opcional (tipo compartido, incl. extractStructuredData) y pistas ocr para alinear pasos de imagen con BrowserAnalyzeOptions.ocr; devuelve un plan estructurado sin I/O pesado.

import { getCapabilities, explainAnalysisPlan } from "@dragon708/docmind-browser"; const caps = await getCapabilities(file); const plan = await explainAnalysisPlan(file, { intent: "convertToHtml", ocr: { mode: "auto", langs: "eng" }, docx: { include: { headings: true, tables: true } }, });

Salida estructurada — extractStructuredData

extractStructuredData devuelve un StructuredDocumentResult para texto, DOCX e imagen (si el OCR no está en off). PDF en navegador: sobre vacío con avisos; extracción estructurada real de PDF en @dragon708/docmind-node o POST /api/analyze con action=extract-structured.

Side effect DOCX

Incluye soporte DOCX en el bundle (como src/lib/docmind-client.ts):

import "@dragon708/docmind-docx";

File desde un input

import { analyzeFile } from "@dragon708/docmind-browser"; import "@dragon708/docmind-docx"; async function desdeInput(input: HTMLInputElement) { const file = input.files?.[0]; if (!file) throw new Error("No file"); return analyzeFile(file, { ocr: { langs: "eng" } }); }

Blob desde fetch

import { analyzeFile } from "@dragon708/docmind-browser"; import "@dragon708/docmind-docx"; async function desdeUrl(url: string) { const res = await fetch(url); const blob = await res.blob(); return analyzeFile(blob, {}); }

Si construyes el Blob a mano, define un type útil para detectFileKind:

const blob = new Blob([bytes], { type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", }); await analyzeFile(blob, {});

Referencia en el playground

src/lib/docmind-client.ts mapea language sobre ocr.langs, conserva docx si se pasa, y expone getClientCapabilities, explainClientAnalysisPlan y extractClientStructuredData. Client test incluye casillas include DOCX para analizar, facetas, explicar plan y extraer datos estructurados (no para capabilities ni detect-kind). PDF lab y DOCX lab son solo servidor (POST /api/analyze); ver Resumen de API.

Ver también

Last updated on