Preencha um PDF Forma
PDF4me Preencha um formulário em PDF Preenche os campos do AcroForm em um PDF modelo com valores de um JSON objeto em um único REST ligar. Enviar o modelo como Base64 ou um público URL, envie os valores dos campos como uma string. matriz de dadose receba o preenchido PDF como bytes binários (200) ou por meio de uma consulta ao cabeçalho Location. URL (202). Alternar ManterPdfEditável Para fornecer um formulário reeditável ou um registro estático simplificado.
Autenticando seu API Solicitar
Todo PDF4me REST A chamada deve incluir o seu API chave no Authorization Defina o cabeçalho como autenticação básica. Obtenha ou altere sua chave no painel do desenvolvedor.
Ponto final
/api/v2/PreencherFormulárioPDFhttps://api.pdf4me.com/api/v2/FillPdfFormFatos importantes que você não deve perder
matriz de dados é uma STRING, não um objetoJSON.stringify({...}) Antes de publicar. O envio de um objeto aninhado retorna um erro de desserialização.IsAsync: verdadeiro o API Pode responder com o código 202 e um cabeçalho de localização. GET que URL (mesma autorização) até que retorne 200 com o PDF binário. Padrão PDF4me padrão assíncrono (pdf4meAsyncRequest).HTTP configurar
Método: PUBLICAR
URL: https://api.pdf4me.com/api/v2/FillPdfForm
Tipo de conteúdo: aplicativo/json
Autorização: Básico <seu PDF4me API chave>
Enviar IsAsync: verdadeiro no corpo. 200 retorna o preenchido PDF como bytes binários. 202 retorna um Localização cabeçalho com uma enquete URL; GET que URL com o mesmo cabeçalho de autorização até que retorne 200 com o PDF binário (mesma convenção que pdf4meAsyncRequest).
Matriz variante (relevante para o Postman)
Três variantes de entrada abrangem todas as chamadas do Postman / curl / SDK. Escolha a variante que corresponde ao seu caso. PDF Modelo e dados de formulário em tempo real.
| Variante | Modelo PDF (Conteúdo do documento modelo) | Campos do formulário | Campos obrigatórios da API |
|---|---|---|---|
| A | Base64 PDF | JSON object → stringify → dataArray | All rows in the JSON-form table below. |
| B | Public PDF URL | JSON object → stringify → dataArray | Same as A; templateDocContent is the URL string. |
| C | Base64 PDF | Base64-encoded JSON file → decode → stringify into dataArray | Same as A; build dataArray from the decoded JSON. |
API campos corporais
Sempre enviado
| Campo | Obrigatório | Tipo | Padrão / notas |
|---|---|---|---|
templateDocName | Yes* | string | Filename of the template, e.g. template.pdf. Derived from the source URL filename or defaulted to template.pdf. Used for downstream output naming. |
templateDocContent | Yes | string | Base64-encoded PDF (no data: prefix) OR a publicly reachable https URL to the PDF. |
KeepPdfEditable | No | boolean | Default false. Set true to keep AcroForm fields editable in the output PDF; false flattens the form into static text. |
IsAsync | Yes | boolean | Default true. Toggles the 200 / 202 + Location async pattern. |
*templateDocName Deve sempre ser definido na solicitação; escolha um nome de arquivo adequado para que os nomes dos arquivos de saída sejam legíveis posteriormente.
Quando a entrada do formulário é JSON
| Campo | Obrigatório | Tipo | Notas |
|---|---|---|---|
dataArray | Yes | string | JSON.stringify({ ... }). Keys = AcroForm field names; values = strings to fill. |
inputDataType | Yes | string | Always "json" for this path. |
outputType | Yes | string | Always "pdf". |
Regras de dados de formulário (JSON caminho)
| Regra | Detalhe |
|---|---|
| Shape | Single object: {"fieldName": "value", ...}. |
| Not allowed | Empty array, or an array of multiple objects. |
| Base64 form input | Decode the UTF-8 JSON file, then JSON.stringify into dataArray. In Postman: put the decoded-then-stringified result directly into dataArray. |
| Data URL | Strip the data:...;base64, prefix if present (applies to the PDF Base64 in templateDocContent). |
Exemplos de cargas úteis
Variante A. PDF Base64 + formulário JSON
{
"templateDocName": "application-form.pdf",
"templateDocContent": "JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"inputDataType": "json",
"outputType": "pdf",
"KeepPdfEditable": false,
"IsAsync": true
}
matriz de dados Deve ser uma string, não uma lista aninhada. JSON objeto:
"dataArray": "{"firstname":"John","lastname":"Doe"}"
Variante B. URL do PDF + formulário JSON
{
"templateDocName": "application-form.pdf",
"templateDocContent": "https://example.com/forms/application-form.pdf",
"inputDataType": "json",
"outputType": "pdf",
"KeepPdfEditable": false,
"IsAsync": true
}
Variante C. PDF Base64 + formulário a partir de JSON em base64
Espaço reservado no repositório: eyJmaXJzdG5hbWUiOiJKb2huIn0= → {"firstname":"John"}.
Equivalente API corpo após decodificar o formulário JSON:
{
"templateDocName": "application-form.pdf",
"templateDocContent": "JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"dataArray": "{\"firstname\": \"John\"}",
"inputDataType": "json",
"outputType": "pdf",
"KeepPdfEditable": false,
"IsAsync": true
}
Opcional. Mantenha o formulário editável.
{
"templateDocName": "application-form.pdf",
"templateDocContent": "https://example.com/forms/application-form.pdf",
"dataArray": "{\"firstname\": \"John\", \"lastname\": \"Doe\"}",
"inputDataType": "json",
"outputType": "pdf",
"KeepPdfEditable": true,
"IsAsync": true
}
Dicas de coleta do carteiro
exemplo de curl
curl -X POST https://api.pdf4me.com/api/v2/FillPdfForm \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-d '{
"templateDocName": "application-form.pdf",
"templateDocContent": "https://example.com/forms/application-form.pdf",
"dataArray": "{\"firstname\":\"John\",\"lastname\":\"Doe\"}",
"inputDataType": "json",
"outputType": "pdf",
"KeepPdfEditable": false,
"IsAsync": true
}' \
--output filled-form.pdf
Referência rápida: obrigatório vs. opcional (Postman)
| Campo | A (PDF b64) | B (URL do PDF) | C (formulário b64 → JSON) |
|---|---|---|---|
templateDocName | Required | Required | Required |
templateDocContent | Required (b64) | Required (URL) | Required (b64) |
dataArray | Required | Required | Required (from decoded JSON) |
inputDataType | Required (json) | Required (json) | Required (json) |
outputType | Required (pdf) | Required (pdf) | Required (pdf) |
IsAsync | Required (true) | Required (true) | Required (true) |
KeepPdfEditable | Optional | Optional | Optional |