PDF417
PDF417 é o código de barras 2D linear empilhado que aparece no verso de cada carteira de habilitação dos EUA, na maioria dos passaportes americanos, nos conhecimentos aéreos da FedEx/UPS e em inúmeros formulários governamentais. É a única simbologia 2D que os scanners laser 1D podem ler de forma confiável, é por isso que instituições com frotas de scanners instalados de milhões de dólares não o abandonaram em 30 anos.
Aplicação AAMVA:AAMVA Card Design Standard v10, exige PDF417 para carteiras de habilitação dos EUA/Canadá.
Criador: Symbol Technologies (agora Zebra), 1991. O nome significa "Portable Data File, 4 bars, 17 modules."
O que é
Fisicamente, um símbolo PDF417 é uma pilha de linhas horizontais, cada linha é um código de barras linear. Um PDF417 de tamanho completo parece um tijolo alto e estreito com ~3–90 linhas, onde cada linha carrega uma fatia do payload total. Como cada linha começa com um padrão de início e termina com um padrão de parada, o PDF417 pode ser decodificado por um laser varrendo da esquerda para a direita linha por linha, nenhum imager 2D necessário.
Cada palavra de código tem 17 módulos de largura, construída a partir de 4 barras e 4 espaços (daí "4/17"). O payload é dividido em palavras de código usando um dos três "modos de compactação":
- Compactação de texto, 1,2 caracteres/palavra de código. Para alfanuméricos mistos.
- Compactação de bytes, 1,2 bytes/palavra de código. Para binários arbitrários.
- Compactação numérica, 2,9 dígitos/palavra de código. Para payloads numéricos longos (como as combinações de CEP+estado da AAMVA).
Capacidade (linhas × colunas)
O tamanho do PDF417 é especificado como linhas × colunas de dados. O máximo é 90 linhas × 30 colunas de dados = 2.700 palavras de código de dados. Capacidade alfanumérica aproximada:
| Linhas × colunas de dados | Máx. alfanumérico | Uso típico |
|---|---|---|
| 3 × 1 | ~3 caracteres | Símbolo mínimo viável |
| 10 × 3 | ~30 caracteres | IDs curtos, URLs curtas |
| 20 × 5 | ~100 caracteres | Cartão de embarque, AAMVA curto |
| 30 × 8 | ~250 caracteres | Conhecimento aéreo FedEx |
| 40 × 12 | ~500 caracteres | Carteira de habilitação AAMVA completa |
| 90 × 30 | ~1.800 caracteres | Máximo teórico, raramente usado |
Níveis de correção de erros (0–8)
PDF417 define 9 níveis de correção de erros Reed-Solomon, adicionando 2, 4, 8, 16, 32, 64, 128, 256 ou 512 palavras de código ECC. Níveis mais altos tratam mais danos, mas consomem capacidade de payload.
| Nível ECC | Palavras de código ECC | Uso típico | % de sobrecarga |
|---|---|---|---|
| 0 | 2 | Somente experimental | ~0,1% |
| 1 | 4 | Códigos curtos, ambiente controlado | ~0,2% |
| 2 | 8 | Payloads pequenos | ~0,4% |
| 3 | 16 | Payloads médios, leitura interna | ~0,8% |
| 4 | 32 | Padrão para documentos curtos | ~1,5% |
| 5 | 64 | Padrão real, conhecimentos aéreos, cartões de embarque, AAMVA | ~3% |
| 6 | 128 | Ambientes de alto dano | ~6% |
| 7 | 256 | Amassado / externo / industrial | ~12% |
| 8 | 512 | Ambientes extremos | ~25% |
Macro PDF417 (payloads multissímbolo)
Quando um payload excede o limite de 1.800 caracteres, o PDF417 suporta Macro PDF417, o payload é dividido em até 99.999 símbolos separados, cada um marcado com um índice Macro e um ID de arquivo. O scanner lê todos os símbolos em qualquer ordem, os remonta e emite um único payload decodificado. Raro na prática fora da leitura especializada de documentos.
Vetores de teste canônicos
| Caso | Payload | Substring esperado |
|---|---|---|
| Conhecimento aéreo GS1 (estilo FedEx) | 123456789012345 FEDEX 2026-04-20 | FEDEX |
| Carteira de habilitação AAMVA (mínima) | @\n\x1e\rANSI 636014100002DL00410241ZVZVA01DAQA123456789 | ANSI 636014 |
| URL curta simples | https://example.com/doc/X1234 | example.com/doc/X1234 |
| Recibo / fatura longa | INV:2026-04-19 VENDOR:ACME TOTAL:$1,234.56 TAX:$98.76 … | ACME |
Armadilhas comuns
- Câmeras de celular de consumidor não decodificam PDF417 de forma confiável. iOS 17+ tem um fluxo especial com reconhecimento AAMVA (Wallet reconhece carteiras de habilitação dos EUA), mas tratar isso como "iPhone suporta PDF417" é enganoso, é somente para o payload AAMVA específico. O comportamento do Android varia muito por aplicativo de câmera do fabricante.
- AAMVA requer PDF417. O AAMVA Card Design Standard (CDS) requer PDF417 especificamente, não QR, não Aztec. Se você gerar payloads AAMVA, o padrão te prende a isso.
- Zonas silenciosas são 2× a largura do módulo. Diferente de QR (4 módulos) e Aztec (nenhuma). PDF417 precisa de pelo menos 2 módulos de espaço em branco nas bordas esquerda e direita; zona silenciosa errada é o motivo número 1 pelo qual códigos PDF417 legítimos falham ao escanear.
- A proporção importa. As linhas de PDF417 são mais largas do que altas por design. Forçar uma proporção quadrada (escalando ou imprimindo em um substrato quadrado) quebra a decodificação do scanner laser; imagers 2D às vezes conseguem se recuperar.
- PDF417 truncado. Variante que omite o indicador de linha direita + padrão de parada. Economiza ~12% da largura do símbolo mas só decodifica em imagers 2D, scanners laser precisam do padrão de parada. Usar somente quando a classe do scanner é conhecida.
- Seleção automática do modo de compactação. Bons codificadores alteram o modo de compactação no meio do payload para eficiência (bloco numérico → bloco de texto). Codificadores manuais bloqueados em um único modo desperdiçam capacidade. O codificador da Abundera seleciona automaticamente por palavra de código.
- Modo de compactação e conjunto de caracteres. A compactação de texto lida apenas com ASCII imprimível. NULs incorporados, acentos Latin-1 ou dados binários forçam a Compactação de Bytes, que reduz a eficiência para 1,2 bytes/palavra de código.
- Estilo desativado. Recursos específicos de QR (formas de pontos personalizadas, gradientes, logotipos centrais) não se aplicam. O painel de Estilo da Abundera se desativa automaticamente para PDF417.
Compatibilidade de scanners
| Leitor | Suporte PDF417 | Notas |
|---|---|---|
| Câmera iOS (iOS 17+) | Somente AAMVA | Fluxo nativo Wallet para carteiras dos EUA. Payloads PDF417 gerais não decodificam. |
| Câmera Android (dependente do fabricante) | Parcial | Câmeras padrão Samsung + Pixel decodificam de forma inconsistente. Google Lens parcial. |
| Google Lens | Não confiável | Não é um caminho de verificação viável para produção. |
| Scanner DMV EUA / quiosque | Sim (canônico) | Para isso o PDF417 foi projetado, todo DMV e quiosque de bebidas alcoólicas lê PDF417 nativamente. |
| Leitor de cartão de embarque de companhia aérea | Algumas companhias | A maioria migrou para Aztec; algumas (ANA, JAL, transportadoras americanas legadas) ainda aceitam cartões PDF417. |
| Leitor de conhecimento aéreo FedEx / UPS | Sim (canônico) | Scanners laser em todas as instalações de triagem leem PDF417 nativamente. |
| Scanner laser 1D | Sim | Vantagem única frente ao Aztec / Data Matrix, lasers 1D PODEM decodificar PDF417. |
| Imager Zebra / Honeywell / Datalogic | Sim | Todo imager 2D industrial suporta PDF417. |
| Scandit / Dynamsoft SDK | Sim | Suporte completo incluindo Macro PDF417. |
Veja também
- /pdf417-barcode-generator/, o gerador PDF417.
- Referência AAMVA, o caso de uso canônico de PDF417 (carteiras de habilitação dos EUA). Obrigatório pela especificação.
- Aztec · PDF417 · Data Matrix comparativo, comparação lado a lado.
- Referência Aztec, o símbolo voltado para display, para cartões de embarque e transporte.
- Referência Data Matrix, o símbolo para marcação direta de peças.
- Índice de padrões, voltar ao centro de referência.