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.