PDF Blocks
PreçosSuporte
Começar grátis
Abrir a página

Formatos de resposta e negociação de conteúdo

O que uma ação devolve e como o cabeçalho Accept escolhe entre um PDF, um ZIP, um envelope JSON e multipart/mixed.

A maioria das ações retorna um único documento application/pdf. As quatro ações de divisão retornam vários documentos de uma vez, e você escolhe o empacotamento com o cabeçalho de requisição Accept. Esta página é a referência dessa negociação de conteúdo: as opções de empacotamento, o esquema do envelope JSON e o que acontece quando um cabeçalho Accept não corresponde a nada.

Respostas de documento único

Toda ação que não é de divisão responde com 200 OK e traz no corpo bruto o PDF processado:

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 48213

Não há nada a negociar. Grave o corpo em fluxo para um arquivo, como fazem os exemplos de cada página de ação.

Respostas de vários documentos

A família de divisão retorna muitos documentos em uma única chamada: Dividir por número de páginas, Dividir em uma página, Dividir por tamanho de arquivo e Dividir em grupos de páginas. Os documentos de saída são nomeados 00001.pdf, 00002.pdf e assim por diante, em ordem. Você seleciona o empacotamento com o cabeçalho de requisição Accept:

Cabeçalho Accept Resposta
(nenhum enviado) application/zip, o padrão
application/zip Um arquivo ZIP com os PDFs de saída
application/json Um envelope JSON de documentos codificados em base64
multipart/mixed Um PDF por parte
qualquer outro valor 406 Not Acceptable

application/zip: o padrão

Sem cabeçalho Accept (ou com Accept: application/zip), a resposta é um arquivo ZIP cujas entradas são nomeadas 00001.pdf, 00002.pdf e assim por diante:

cURLbash
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.zip

Descompacte parts.zip para obter os documentos individuais.

application/json: o envelope base64

Peça Accept: application/json para receber todos os documentos embutidos em uma única resposta JSON, o que é conveniente quando você quer manter as partes na memória ou repassá-las sem tocar no sistema de arquivos:

cURLbash
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.json

O corpo é uma matriz documents, e cada entrada traz seu nome e seus bytes codificados em base64:

{
  "documents": [
    {
      "name": "00001.pdf",
      "content": "JVBERi0xLjcKJeLjz9MK... (base64)",
      "content_type": "application/pdf"
    },
    {
      "name": "00002.pdf",
      "content": "JVBERi0xLjcKJeLjz9MK... (base64)",
      "content_type": "application/pdf"
    }
  ]
}
documentsarrayrequired

Os documentos PDF de saída, em ordem.

documents[].namestringrequired

O nome do documento: 00001.pdf, 00002.pdf e assim por diante.

documents[].contentstring (base64)required

O documento PDF, codificado em base64. Decodifique-o para recuperar os bytes brutos do PDF.

documents[].content_typestringrequired

O tipo de mídia do documento: application/pdf.

multipart/mixed: uma parte por documento

Peça Accept: multipart/mixed para receber em fluxo os documentos como um corpo multipart, com uma parte por PDF de saída, em ordem. Cada parte tem um Content-Type application/pdf e um Content-Disposition que a nomeia 00001.pdf, 00002.pdf e assim por diante.

cURLbash
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.multipart

Um Accept sem correspondência retorna 406

Se você enviar um cabeçalho Accept que não corresponda a nenhum dos três formatos acima (por exemplo Accept: application/pdf em uma ação de divisão), a API responde com 406 Not Acceptable e um corpo application/problem+json. Ou omita Accept para ficar com o ZIP padrão, ou peça um dos tipos de mídia compatíveis. Consulte Erros para ver o formato do problem detail.

Para código de ponta a ponta que chama uma ação de divisão e desempacota cada formato (extraindo o ZIP, decodificando o envelope JSON ou lendo as partes multipart), consulte o guia Dividir um PDF.