📋 Resumo do artigo

Este artigo explica como garantir que um PDF esteja no formato correto para ser assinado digitalmente no Assina Simples. Aborda problemas comuns, o recurso de Otimização de PDF (via painel e API) e as melhores bibliotecas para geração de PDFs assináveis.

1. Por que o formato do PDF importa?

A assinatura digital de documentos PDF depende da estrutura interna do arquivo. Para que um PDF possa ser assinado digitalmente, ele precisa atender a três requisitos técnicos fundamentais:

RequisitoO que significa
Inserção incrementalO PDF deve permitir a inclusão de assinaturas sem reescrever o arquivo inteiro
Sem Object StreamsNão pode usar compressão de objetos (ObjectStream) que bloqueie a adição de campos de assinatura
Padrão ISO 32000-1Deve seguir as normas do formato PDF 1.7 (ou superior), definidas pela ISO
⚠️
Atenção

Quando o PDF é gerado fora desse padrão, a assinatura pode falhar ou o documento pode ficar inválido após assinar. É fundamental enviar PDFs compatíveis ao Assina Simples.

2. Problemas Comuns em PDFs Gerados por Terceiros

ProblemaImpacto
Object Streams / Cross-Reference StreamsTornam mais difícil inserir novos objetos de assinatura. Gerados por algumas ferramentas de otimização.
Otimização agressiva para web"Salvar como PDF otimizado para web" em muitos editores remove informações necessárias para a assinatura incremental.
Imagens pesadas / alta resoluçãoGeram PDFs muito grandes, que podem precisar ser reprocessados pela API para garantir compatibilidade.
Proteção, criptografia ou senhaBloqueiam completamente qualquer tentativa de assinatura. O PDF protegido precisa ser desbloqueado antes.

3. Como Otimizar um PDF pelo Painel do Assina Simples

O Assina Simples disponibiliza a opção "Otimizar PDF" diretamente no painel, sem necessidade de conhecimento técnico. Siga os passos abaixo:

1
Abra o documento

Abra o documento que deseja otimizar dentro do painel do Assina Simples

2
Clique em Opções

Clique no botão "Opções" no canto superior direito do documento

3
Selecione Otimizar PDF

Selecione a opção "Otimizar PDF" no menu dropdown

4
Confirme

Clique em "Continuar" na janela de confirmação

5
Aguarde o processamento

Aguarde até ver "Arquivo pronto!" — NÃO feche a janela durante o processo

⚠️
Ação irreversível

A otimização é irreversível: todos os campos de formulário serão convertidos em texto e dados inválidos podem ser apagados. Certifique-se de manter uma cópia do arquivo original antes de otimizar.

4. Otimização via API (Para Desenvolvedores)

A API do Assina Simples disponibiliza o parâmetro optimizer para controlar como o PDF será processado antes da assinatura:

ParâmetroComportamento
optimizer = 1Ativa a otimização obrigatória via Ghostscript — garante compatibilidade independentemente do estado do arquivo.
optimizer = 0O PDF será assinado apenas se já estiver em um padrão compatível. Retorna erro se estiver fora do padrão.
Sem parâmetroA API decide automaticamente: se o PDF for incompatível, será otimizado; se já compatível, segue direto para assinatura.
💡
Recomendação para integração

Para integrações com clientes que enviam PDFs de diversas origens (Word, Google Docs, LibreOffice), recomendamos omitir o parâmetro optimizer e deixar a API decidir automaticamente. Para fluxos críticos com PDFs gerados internamente e já validados, use optimizer=0 para maior controle.

5. Boas Práticas para Geração de PDFs Assináveis

Softwares de escritório

  • Microsoft Word / LibreOffice / Google Docs: exportar em PDF sem otimização avançada
  • Evitar "Reduzir tamanho" ou "Otimizar para web" antes de enviar para assinatura
  • Quando possível, exportar como PDF/A (ISO 19005-1) — formato arquivístico ideal para assinaturas

Bibliotecas recomendadas para desenvolvedores

BibliotecaCompatibilidadeObservação
TCPDF✅ CompatívelRecomendado — gera PDFs nativos compatíveis
FPDF + FPDI✅ CompatívelCompatível, desde que compressão de objetos esteja desativada
iText (Java/.NET)✅ CompatívelTotalmente compatível — usado em projetos corporativos
LibreOffice✅ CompatívelGera PDFs estáveis via linha de comando
Ghostscript✅ CompatívelÚtil para normalizar PDFs problemáticos
mPDF⚠️ TestesPode gerar PDFs válidos, mas nem sempre estável — recomenda-se testes prévios
Ferramentas online❌ EvitarMuitas aplicam compressão que quebra a compatibilidade

Checklist antes de enviar um PDF para assinatura

O PDF foi exportado sem otimização para web ou redução de tamanho?
O arquivo não está protegido por senha ou criptografia?
O PDF foi gerado por uma biblioteca confiável (TCPDF, iText, LibreOffice)?
Caso haja dúvida, foi usado o recurso "Otimizar PDF" no painel?
Uma cópia do arquivo original foi guardada antes de otimizar?

6. Resumo — O Que Fazer em Cada Situação

SituaçãoAção recomendada
Cliente enviou PDF e a assinatura falhouAcesse Opções > Otimizar PDF no painel e tente novamente
PDF gerado por Word / Google DocsExportar sem "otimizar para web". Se falhar, usar o Otimizador
Integração via API com PDFs de diversas origensOmitir o parâmetro optimizer — a API decide automaticamente
PDF está protegido com senhaRemover a proteção antes de enviar para assinatura
Novo sistema gerando PDFs para assinaturaUtilizar TCPDF, FPDF/FPDI ou iText como biblioteca padrão