Skip to Content
Inicio rápido

Inicio rápido

Requisito previo: Instalación. Los ejemplos coinciden con los paquetes @dragon708/* de este playground (línea docmind-pdf ^2.2.x, shared ^1.2.x, resto según package.json).

Opciones (tipos)

  • Navegador — BrowserAnalyzeOptions: { signal?: AbortSignal; ocr?: { langs?: string; signal?: AbortSignal } }.
  • Node — NodeAnalyzeOptions: { signal?: AbortSignal; pdf?: PdfAnalyzeOptions; ocr?: OcrOptions }, donde pdf.ocr es off | auto | force y pdf.ocrLangs / ocr.langs indican idioma para Tesseract / PDF.

No hay campos públicos output, runtime ni language de primer nivel en el SDK (eran documentación antigua). Usa ocr.langs (y pdf.ocrLangs en Node) para el idioma.

import { analyzeFile } from "@dragon708/docmind-browser"; import "@dragon708/docmind-docx"; async function analizarSubida(file: File) { return analyzeFile(file, { signal: undefined, ocr: { langs: "eng" }, }); }
import { extractText, convertToHtml, runOcr } from "@dragon708/docmind-browser"; import "@dragon708/docmind-docx"; async function facetas(file: File) { const opts = { ocr: { langs: "eng" } }; const text = await extractText(file, opts); const html = await convertToHtml(file, opts); const ocr = await runOcr(file, opts); return { text, html, ocr }; }
import { detectFileKind } from "@dragon708/docmind-browser"; const kind = detectFileKind(file);

Node — bytes + analyzeFile

import { analyzeFile } from "@dragon708/docmind-node"; import type { DetectFileKindInput } from "@dragon708/docmind-shared"; async function analizarBytes( data: Uint8Array, name?: string, mimeType?: string, ) { const input = { data, name, mimeType } as DetectFileKindInput; return analyzeFile(input, { pdf: { ocr: "auto", ocrLangs: "eng" }, ocr: { langs: "eng" }, }); }

Node — ruta como string

import { analyzeFile } from "@dragon708/docmind-node"; async function analizarRuta(p: string) { return analyzeFile(p, { pdf: { ocr: "auto" }, }); }

Node — readFileToInput + extractText

import { extractText, readFileToInput } from "@dragon708/docmind-node"; async function textoDesdeDisco(path: string) { const input = await readFileToInput(path); return extractText(input, { pdf: { ocr: "off" } }); }

En PDF escaneados (sin capa de texto), usa pdf: { ocr: "auto" } (o force) en lugar de off; si no, extractText puede devolver texto vacío con needsOCR: true. La acción extract-text del playground mapea ocrMode a pdf.ocr.

import { getCapabilities, explainAnalysisPlan } from "@dragon708/docmind-browser"; import "@dragon708/docmind-docx"; async function introspeccion(file: File) { const capabilities = await getCapabilities(file); const plan = await explainAnalysisPlan(file, { intent: "analyzeFile", ocr: { mode: "auto", langs: "eng" }, }); return { capabilities, plan }; }

Node — getCapabilities / explainAnalysisPlan

import { getCapabilities, explainAnalysisPlan } from "@dragon708/docmind-node"; import type { DetectFileKindInput } from "@dragon708/docmind-shared"; async function introspeccionBytes(input: DetectFileKindInput) { const capabilities = await getCapabilities(input); const plan = await explainAnalysisPlan(input, { intent: "extractText", pdf: { ocr: "auto", ocrLangs: "eng" }, ocr: { langs: "eng" }, }); return { capabilities, plan }; }

Node — ruta con OCR fuerte

Usa runOcr: el paquete aplica política PDF forzada donde corresponde; las imágenes van por Tesseract.

import { runOcr, readFileToInput } from "@dragon708/docmind-node"; async function ocrDesdeDisco(path: string) { const input = await readFileToInput(path); return runOcr(input, { pdf: { ocr: "force", ocrLangs: "eng" }, ocr: { langs: "eng" }, }); }

Forma del resultado

Las llamadas devuelven AnalysisResult (o variantes como TextAnalysisResult para texto plano). Comprueba status, fileKind, analyzer y warnings antes de leer text, html o metadata.

Ver también

Last updated on