Formatos de respuesta y negociación de contenido
Qué devuelve una acción y cómo la cabecera Accept elige entre un PDF, un ZIP, un sobre JSON y multipart/mixed.
La mayoría de las acciones devuelve un único documento application/pdf. Las
cuatro acciones de división devuelven varios documentos a la vez, y usted
elige cómo se empaquetan con la cabecera de solicitud Accept. Esta página
es la referencia de esa negociación de contenido: las opciones de
empaquetado, el esquema del sobre JSON y qué ocurre cuando una cabecera
Accept no coincide con nada.
Respuestas de un solo documento
Toda acción que no sea de división responde con 200 OK y el PDF procesado
como cuerpo en crudo:
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 48213No hay nada que negociar: escriba el cuerpo en un archivo, como hacen los ejemplos de cada página de acción.
Respuestas de varios documentos
La familia de división devuelve varios documentos en una sola llamada:
Dividir por número de páginas, Dividir
en una página, Dividir por tamaño de
archivo y Dividir en grupos de
páginas. Los documentos de salida se
llaman 00001.pdf, 00002.pdf y así sucesivamente, en orden. El
empaquetado se selecciona con la cabecera de solicitud Accept:
Cabecera Accept |
Respuesta |
|---|---|
| (no se envía) | application/zip: la opción predeterminada |
application/zip |
Un archivo ZIP con los PDF de salida |
application/json |
Un sobre JSON con los documentos codificados en base64 |
multipart/mixed |
Un PDF por parte |
| cualquier otra cosa | 406 Not Acceptable |
application/zip: la opción predeterminada
Sin cabecera Accept (o con Accept: application/zip), la respuesta es un
archivo ZIP cuyas entradas se llaman 00001.pdf, 00002.pdf, y así
sucesivamente:
curl https://api.pdfblocks.com/v1/split_by_page_count \
-H 'X-API-Key: your_api_key' \
-F file=@input.pdf \
-F page_count=10 \
-o parts.zipDescomprima parts.zip para obtener los documentos individuales.
application/json: el sobre en base64
Solicite Accept: application/json para recibir todos los documentos en
línea en una sola respuesta JSON, práctico cuando quiere mantener las partes
en memoria o reenviarlas sin tocar el sistema de archivos:
curl https://api.pdfblocks.com/v1/split_by_page_count \
-H 'X-API-Key: your_api_key' \
-H 'Accept: application/json' \
-F file=@input.pdf \
-F page_count=10 \
-o parts.jsonEl cuerpo es una matriz documents; cada entrada lleva su nombre y sus bytes
codificados en base64:
{
"documents": [
{
"name": "00001.pdf",
"content": "JVBERi0xLjcKJeLjz9MK... (base64)",
"content_type": "application/pdf"
},
{
"name": "00002.pdf",
"content": "JVBERi0xLjcKJeLjz9MK... (base64)",
"content_type": "application/pdf"
}
]
}documentsarrayrequiredLos documentos PDF de salida, en orden.
documents[].namestringrequiredEl nombre del documento: 00001.pdf, 00002.pdf y así sucesivamente.
documents[].contentstring (base64)requiredEl documento PDF codificado en base64. Decodifíquelo para recuperar los bytes originales del PDF.
documents[].content_typestringrequiredEl tipo de medio del documento: application/pdf.
multipart/mixed: una parte por documento
Solicite Accept: multipart/mixed para recibir los documentos como un cuerpo
multipart con una parte por cada PDF de salida, en orden. Cada parte tiene un
Content-Type de application/pdf y un Content-Disposition que la nombra
00001.pdf, 00002.pdf y así sucesivamente.
curl https://api.pdfblocks.com/v1/split_by_page_count \
-H 'X-API-Key: your_api_key' \
-H 'Accept: multipart/mixed' \
-F file=@input.pdf \
-F page_count=10 \
-o parts.multipartUn Accept sin coincidencia devuelve 406
Si envía una cabecera Accept que no coincide con ninguno de los tres
formatos anteriores, por ejemplo Accept: application/pdf en una acción de
división, la API responde con 406 Not Acceptable y un cuerpo
application/problem+json. Omita Accept para tomar el ZIP predeterminado,
o solicite uno de los tipos de medio admitidos. Consulte
Errores para ver la forma del detalle del problema.
Para ver código de principio a fin que llama a una acción de división y desempaqueta cada formato, ya sea extrayendo el ZIP, decodificando el sobre JSON o leyendo las partes multipart, consulte la guía Dividir un PDF.