markpdf::Client
std::string
requerido
Su clave API. Si se omite, el constructor lee
MARKPDF_API_KEY del entorno; arroja std::runtime_error en construcción si ninguno de los dos existe.std::string
predeterminado:"https://api.markpdf.tech"
URL base de API.
long
predeterminado:"300000"
Tiempo de espera por solicitud en milisegundos (
CURLOPT_TIMEOUT_MS).int
predeterminado:"2"
Reintentos automáticos con retroceso exponencial en
429 y 5xx.markpdf::Client no se puede copiar pero sí se puede mover. Es seguro compartir una instancia entre subprocesos para llamadas de solo lectura (getJob, pdfIndex); para conversiones simultáneas, cada hilo reutiliza su propio curl easy handle internamente a través de un grupo.
ConvertOptions
Estructura compartida por convertFile, convertFromUrl y convertStream, con la misma asignación 1:1 a los parámetros de consulta de API:
InputFormat, Mode, Engine, ResponseFormat, OutputEncoding) se serializan con los mismos valores de cadena documentados por API; consulte Parámetros.
Métodos
convertFile
POST /convert/raw.
bool
predeterminado:"true"
Si el servidor responde
202, el cliente bloquea el hilo actual y sondea desde GET /jobs/{id} hasta completed/failed. Con autoPoll = false, convertFile devuelve un error de tipo JobQueued con jobId para sondeo manual. Consulte Transmisión y asíncrono.convertFromUrl
POST /convert/from-url.
convertStream
onChunk sincrónicamente para cada fragmento recibido de POST /convert/stream (o /convert/stream-from-url). No hay valor de retorno: la devolución de llamada se ejecuta en el mismo hilo que llama a convertStream, mientras la solicitud HTTP aún está en progreso. Consulte Transmisión y asíncrono.
pdfIndex
POST /pdf/index.
getJob
GET /jobs/{id}.
Tipos de devolución
ConversionResult
PdfSpine
JobStatus
Result<T, E>
markpdf::Result<T, E> es un contenedor liviano como std::expected (compatible con C++17):
MarkpdfError.