Aplanar um PDF
no navegador.
Bloqueie campos de formulário interativos e anotações em conteúdo estático. Os destinatários veem os valores mas não podem alterá-los. Sem upload.
Verifique você mesmo: abra o DevTools → separador Network → solte um ficheiro. Veja zero envios a acontecer.
Três passos. O seu ficheiro nunca sai deste separador.
Largue o PDF preenchido
Escolha o formulário preenchido. Carrega na memória do navegador, não num servidor.
Clique em Achatar
Incorporamos os valores dos campos e as anotações na própria página e removemos a camada interativa.
Descarregue a cópia bloqueada
O resultado parece idêntico, mas os destinatários não podem alterar os valores. O original fica intacto.
Cozer o formulário na página
As razões para «achatar» (flatten) um PDF normalmente prendem-se com congelar o que está atualmente visível. Um formulário fiscal preenchido digitando no PDF segue para um contabilista — o destinatário deve ver as respostas mas não as poder editar. Um acordo assinado foi concluído com um campo de assinatura preenchido — ao reencaminhar, o campo não deve continuar a ser um elemento clicável que alguém possa sobrescrever. Um documento digitalizado voltou com anotações e selos e tem de circular para um público mais amplo sem que a camada de anotações fique editável. Um folheto para impressão foi paginado em InDesign com widgets de formulário interativos que devem aparecer como marcadores estáticos quando dispostos para impressão. A tarefa aqui é pequena e previsível: pegar num PDF com campos de formulário ou anotações e converter o seu estado visual atual em conteúdo permanente da página.
O que recebe de volta é um PDF com o mesmo aspeto no ecrã mas sem elementos interativos. Cada campo preenchido mantém o seu valor como texto estático. Cada campo vazio torna-se naquilo que o seu fundo mostrava (muitas vezes um retângulo cinzento, por vezes nada visível). Anotações e selos cozem-se da mesma maneira na página.
O que o flatten faz na realidade
O PDF guarda os campos de formulário como uma camada separada por cima da página. A página em si nada sabe sobre o conteúdo do formulário; o widget do campo é colocado por cima na altura da visualização e o valor atual é renderizado na área visível. «Achatar» colapsa essa camada — percorre cada campo, captura o seu estado visual no momento da operação, desenha esse instantâneo como conteúdo normal da página (texto, linhas, caixas como traçados) e depois remove a própria definição do formulário.
O resultado é uma única página estática contínua em que o visível é o desenhado. Já não há «formulário» no documento. Um leitor não consegue saber que houve campos, e nenhuma ferramenta PDF consegue reeditar os valores sem OCR da página de raiz.
O que se achata e o que não
- Campos de formulário (AcroForm). Caixas de texto, caixas de verificação, botões de opção, listas pendentes, listbox, campos de assinatura, botões. Tudo isto se achata — o valor ou seleção atual torna-se conteúdo estático.
- Os campos vazios mantêm a aparência. Uma caixa de texto não preenchida mantém o contorno e (muitas vezes) uma linha de marcador; esse visual permanece como formas desenhadas. Uma caixa não marcada fica como quadrado vazio.
- Os campos calculados capturam o seu valor atual. Os campos com fórmulas (funcionalidade do Acrobat Pro) congelam no valor atualmente exibido — a fórmula desaparece após o flatten.
- As anotações podem ou não achatar. Notas de comentário, realces e selos dependem do visualizador que os escreveu; o form.flatten() do pdf-lib visa especificamente AcroForm. Se também precisa de eliminar as anotações, o caminho certo é uma exportação completa a partir do visualizador de origem.
- O conteúdo estático existente fica intocado. Texto, imagens, paginação, marcadores transitam sem alteração.
O que sobrevive e o que não
- O conteúdo visível mantém-se igual. Texto, imagens, paginação, fontes e valores do formulário tal como apareciam no momento do flatten — preservados exatamente.
- Marcadores, ligações, estrutura da página transitam. O flatten visa a camada do formulário, não o esquema do documento.
- A interatividade do formulário desaparece. Sem mais campos clicáveis, sem seleções de lista pendente, sem «tab para o campo seguinte». É o objetivo da operação.
- As assinaturas digitais ficam inválidas. Qualquer modificação ao documento, incluindo o flatten, quebra as ligações da assinatura. Se um documento estiver assinado e a assinatura tiver de continuar válida, não achate — duplique o ficheiro e achate o duplicado.
- A operação é unidirecional. Uma vez achatado, não há «desachatar». A definição do formulário desapareceu. Para reeditar, seria preciso recriar os campos de raiz num editor PDF que suporte autoria de formulários.
Se algo parecer estranho
- «Nada aconteceu» — sem campos para achatar. O PDF não continha AcroForm. A ferramenta nesse caso volta a guardar o ficheiro como está; o resultado é funcionalmente idêntico à entrada. Para confirmar se há campos, abra no Adobe Reader e veja «Realçar Campos Existentes» — se nada aparecer realçado, não há nada para achatar.
- Algumas anotações não cozeram. A passagem form.flatten() achata apenas widgets AcroForm. As sobreposições de anotação (post-its, marcador, desenho à mão livre) precisam de outra operação. Para essas, reexporte do visualizador original ou consolide primeiro via edit-pdf.
- Os valores preenchidos parecem errados após o flatten. A representação achatada captura o que estava desenhado no momento. Se o formulário tinha substituição de fonte ou um campo que aparecia diferente do previsto, o bake apanha isso. Verifique antes a fonte num visualizador — o flatten preservará o que vir lá.
- O PDF está encriptado. Passe primeiro por unlock-pdf; PDFs encriptados não se modificam.
Razões comuns para achatar
- Enviar um formulário preenchido a alguém que não deve editá-lo. Declarações fiscais ao contabilista, contratos ao jurista, formulários de RH — achatar trava os valores.
- Combinar formulários preenchidos num único documento de arquivo. Cópias diferentes do mesmo formulário preenchidas por pessoas diferentes, fundidas num pacote. Achate cada uma antes de fundir para que cada cópia mantenha os seus valores sem colisão de IDs de campo.
- Preparar para impressão ou distribuição pública. Os PDFs impressos não honram a interatividade de qualquer modo, mas um visualizador que abre o ficheiro antes de imprimir pode mostrar os campos diferente do output em papel. Achate antes para garantir que ecrã e página coincidem.
- Remover comportamento preenchível de um modelo. Modelo criado com valores de exemplo nos campos, pronto a expedir como exemplo terminado. O flatten congela os valores de exemplo.
Notas práticas
- Ache em último lugar. Se também precisa de adicionar números de página, marca de água ou compressão — faça-o primeiro enquanto o documento ainda é editável. Achatar uma vez fecha alterações que dependam de consciência do formulário.
- Guarde o original. A versão achatada substitui funcionalidade não recuperável. Guarde a fonte editável caso seja preciso atualizar valores depois, e voltar a achatar.
- Teste primeiro numa página. Se o documento é grande e tem dúvidas em como ficará o bake, separe uma página de amostra via split-pdf, ache a amostra, verifique o resultado num visualizador e depois ache o documento todo.
- O ficheiro original fica intacto. O que descarrega é um PDF achatado novo; a fonte em disco não muda.
O que acontece ao seu ficheiro
O achatamento corre no seu browser. Abra DevTools e veja o separador Network durante a operação — nenhum pedido de saída com o conteúdo do ficheiro. O PDF fica em disco; a versão achatada é um download novo ao lado.
Perguntas frequentes
O que significa achatar?
Achatar converte camadas interativas — campos de formulário, anotações, comentários — em conteúdo estático. Visualmente nada muda, mas os valores passam a fazer parte da página e já não podem ser editados.
Porquê achatar um PDF?
Para enviar uma cópia final não editável: contrato assinado, formulário fiscal preenchido, proposta revista. O achatamento evita que os destinatários alterem os valores por engano ou de propósito.
O documento ficará diferente?
Não — páginas achatadas têm aspeto idêntico ao original. A mudança é estrutural, não visual: campos viram texto incorporado, anotações viram marcas incorporadas.
Funciona em PDFs sem formulários?
Sim. Sem campos nem anotações, achatar é praticamente um \"voltar a guardar\". É mais útil quando há campos ou notas para bloquear.
Para onde vai o meu ficheiro?
Para lado nenhum. O achatamento acontece inteiramente neste separador. Verificável em DevTools → Network: não há upload.