ForHosting KIT · PDF e documentos

Achate campos de formulário PDF em conteúdo estático

Ada (Countess) Lovelace digitado num campo da página 1 e uma caixa marcada na página 2 viram conteúdo fixo, e o relatório confirma que os dois foram achatados. O formulário deixa de ter campos ativos que alguém possa editar. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Transforme um formulário PDF interativo já preenchido em uma representação estável, na qual os valores digitados fazem parte do conteúdo da página. Esta capacidade recebe o conteúdo das páginas e as definições dos campos, valida cada valor e posição, cria operações de aparência estáticas e determinísticas, remove a coleção interativa e informa exatamente quais campos foram achatados. Ela foi projetada para automações previsíveis depois que um PDF é analisado, preenchido e aprovado, com um erro claro quando o formulário fornecido não contém campos.

O que muda ao achatar um formulário preenchido

Um PDF preenchido pode parecer concluído e ainda conter controles editáveis. Caixas de texto, caixas de seleção, escolhas, botões de opção e valores visíveis de assinatura podem continuar separados das instruções normais de desenho de cada página. Essa diferença importa quando o documento segue para entrega, impressão ou arquivo: um visualizador pode expor ou alterar o controle, e leitores diferentes podem renderizar sua aparência de maneiras distintas.

Esta capacidade usa os valores fornecidos e grava uma operação de aparência estática no conteúdo da página correspondente. A operação fica recortada no retângulo informado, usa formatação numérica estável e protege caracteres com significado especial em strings PDF. Depois do processamento, a coleção de campos interativos retornada fica vazia.

Assim, os valores visíveis acompanham o modelo de conteúdo da página, sem depender de controles ativos. A saída também traz um relatório campo a campo na ordem recebida, permitindo que seu fluxo registre exatamente o que mudou.

Como preparar corretamente páginas e valores

Forneça pelo menos uma página, identificada por um número positivo e exclusivo, com seu fluxo de conteúdo estático existente representado como texto. Em seguida, envie cada campo preenchido com nome exclusivo, número da página, tipo, valor em string e coordenadas do retângulo em pontos PDF. São aceitos campos de texto, caixas de seleção, botões de opção, escolhas e assinaturas.

Os valores são strings porque o achatamento trabalha com o valor exibido; por exemplo, uma caixa marcada pode usar “Yes”, enquanto uma escolha usa o rótulo selecionado. Cada campo deve indicar uma página existente, e largura e altura precisam ser maiores que zero. Coordenadas e dimensões devem ser números finitos.

A validação é rigorosa de propósito. Nomes ou páginas duplicados, tipos desconhecidos, geometria inválida, páginas ausentes ou valores que não sejam strings causam um erro claro, em vez de um resultado parcialmente achatado. Principalmente, uma lista vazia de campos é rejeitada explicitamente, evitando que uma operação sem efeito pareça bem-sucedida.

Como usar o relatório em um fluxo confiável

Coloque esta transformação depois do preenchimento e da aprovação humana ou programática, mas antes da entrega final ou do empacotamento para arquivo. O resultado contém páginas ordenadas por número, o conteúdo original seguido das operações de aparência geradas, uma coleção de campos vazia, a contagem achatada e o relatório detalhado. Cada item do relatório inclui nome, página, tipo e valor exibido originais.

Compare a contagem com a quantidade esperada pelo seu fluxo ou armazene o relatório junto ao registro de auditoria para facilitar investigações posteriores. Essa característica ajuda em testes de referência, hashes de conteúdo, novas tentativas e builds reproduzíveis. A capacidade modela a etapa de achatamento, não a leitura de bytes PDF; um sistema binário deve analisar antes as páginas e os campos AcroForm e depois serializar o modelo estático retornado.

Finalizar uma solicitação aprovada

Incorpore os valores do solicitante ao conteúdo das páginas após a revisão e guarde o relatório junto ao registro.

Estabilizar formulários antes da impressão

Remova a dependência de controles interativos para representar os valores com operações gráficas determinísticas.

Quanto custa esta capacidade?

A implementação no navegador usa a mesma transformação determinística.

O que acontece se o formulário não tiver campos?

A solicitação falha com um erro de entrada inválida informando que o formulário PDF não possui campos. Formulários vazios nunca são declarados achatados.

Quais tipos de campo são aceitos?

São aceitos texto, caixa de seleção, botão de opção, escolha e assinatura. A string fornecida é tratada como o valor exibido.

A capacidade analisa um arquivo PDF binário?

Não. Ela transforma deterministicamente o conteúdo e os valores já analisados. Um fluxo binário deve analisar antes e serializar depois.

Parênteses ou outros sinais em um nome estragam a página?

Não. Os caracteres que têm significado especial dentro de um PDF são protegidos na escrita, então um nome como Ada (Countess) Lovelace fica exatamente como foi preenchido. Além disso, cada valor é recortado ao retângulo do seu campo e não invade o resto da página.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/pdf/flatten-form

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/pdf/flatten-form \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pages":[{"number":1,"content":"q 1 0 0 1 0 0 cm Q"}],"fields":[{"name":"full_name","page":1,"type":"text","value":"Ada Lovelace","x":72,"y":680,"width":220,"height":18}]}'
{
  "pages": [
    {
      "number": 1,
      "content": "q 1 0 0 1 0 0 cm Q"
    }
  ],
  "fields": [
    {
      "name": "full_name",
      "page": 1,
      "type": "text",
      "value": "Ada Lovelace",
      "x": 72,
      "y": 680,
      "width": 220,
      "height": 18
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.flatten_form",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb25
max_pages200
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Como usar o relatório em um fluxo confiável

Como o algoritmo não acessa rede, não faz escolhas aleatórias, não lê o relógio e não usa estado mutável compartilhado, a mesma entrada sempre produz o mesmo JSON.

Verificar um fluxo documental automático

Compare flattened_count e flattened_fields com o esquema esperado antes de serializar, entregar ou arquivar.

O resultado identifica os campos achatados?

Sim. flattened_fields informa nome, página, tipo e valor de cada campo, e flattened_count apresenta o total.

Ver a documentação completa do KIT →