Skip to main content

Streaming y trabajos asincrónicos

@markpdf/react combina dos cosas diferentes: progreso de carga (heredado del gancho useConvertFile, a través de XMLHttpRequest) y transmisión/jobs de API (heredado del cliente base @markpdf/sdk, a través de useMarkpdf()).

Subir progreso con useConvertFile

  • status pasa por "idle" → "uploading" → "converting" → "success"|"error".
  • progress solo tiene sentido durante "uploading" (porcentaje de bytes cargados). Durante "converting" el servidor ya recibió el archivo completo y lo está procesando; no hay ningún progreso granular desde esa fase.
Esto cubre POST /convert (varias partes). No se aplica a convertFromUrl, donde no hay bytes para cargar desde el navegador.

Streaming Markdown con useMarkpdf()

Para consumir /convert/stream fragmento a fragmento, utilice el cliente sin formato:

Empleos por saturación (202)

useConvertFile().convert() no sondea automáticamente los trabajos en cola; si API responde 202, el error del enlace será MarkpdfError con el detalle del trabajo. Para manejarlo, use el cliente sin formato con autoPoll (el valor predeterminado):
useConvertFile() está destinado al caso común de “carga con barra de progreso”. Si necesita un manejo explícito de 202/reintentos de trabajo, combine useMarkpdf() (cliente base con autoPoll) en lugar de useConvertFile().
Los resultados de los trabajos completados caducan en aproximadamente 1 hora. Si guarda un jobId y consulta client.getJob(jobId) más tarde y recibe 404, reenvíe la conversión original.