Obtener las dimensiones de una página
Devuelve el tamaño y la rotación de una página, para que calcules los rectángulos de los stickers y caigan donde esperas en vez de adivinar entre Carta y A4.
Vale la pena llamarlo antes de colocar stickers en un documento que no generaste tú: rect va
en unidades de PDF medidas desde la esquina inferior izquierda, y una página rotada o de un
tamaño inusual deja un rectángulo fijo en el lugar equivocado.
multipart/form-data con dos campos: file y page.
Autenticación
signmage Cada petición lleva Authorization: signmage {webId}:{firma}, donde firma es el Base64 de
HMAC-SHA256(apiKey, cadenaFirmada).
Qué va dentro de cadenaFirmada depende de la petición:
| Petición | cadenaFirmada |
|---|---|
GET | La URI completa incluyendo el query string, exactamente como se envía |
POST con JSON | El cuerpo JSON, re-serializado compacto (sin espacios ni salto de línea final) |
POST multipart | El SHA-256 en Base64 del archivo, que además se manda en el header Content-SHA256 |
Dos detalles que conviene resolverlos desde el principio:
- En
GET, la URI se firma tal como se envía, así que el orden y el encoding de los parámetros importan. - En
POST, la comparación se hace contra tu JSON re-serializado en forma compacta. Manda JSON compacto y canónico para que las firmas coincidan.
Una firma que no coincide devuelve 401 con el cuerpo vacío. Como la misma respuesta cubre un
web ID desconocido, una llave inactiva y una firma que no coincide, revisa las tres cosas al
diagnosticar.
En: header
Cuerpo de la petición
multipart/form-data
Definiciones de TypeScript
Usa el tipo request body en TypeScript.
Cuerpo de la respuesta
application/json
text/plain
curl -X POST "https://example.com/api/pdf/pageData" \ -F file="string" \ -F page="first"{ "width": 612, "height": 792, "totalPages": 3}