Documentação do PDFLang — Português (Brasil)
Guia completo da linguagem .pdfl e do CLI pdfl — versão 0.6.0.
Todo exemplo desta documentação é código executável e comentado. Se você nunca usou a linguagem, comece pelo manual (capítulo 1) e depois consulte a referência conforme a necessidade.
Idioma da ferramenta. As mensagens do
pdfl— diagnósticos, erros, ajuda do CLI e rótulos dos relatórios — são em inglês, o padrão para ferramentas de linha de comando. Esta documentação está em português, mas um check que falha reporta algo comopage 7: 324% ink (limit 300%). As mensagens que você escreve nos seus scripts saem no idioma em que as escrever.
Índice
| Capítulo | Conteúdo |
|---|---|
| 1. A linguagem | Manual completo: checks, asserções, tipos, unidades, blocos, functions, imports, regras |
| 2. Tipos do documento | doc, page, font, image, region — todas as propriedades e métodos |
3. text:: |
Texto: extração, normalização, busca, validações brasileiras, PII |
4. struct:: |
Estrutura e metadados: objetos, XMP, segurança, hash |
5. visual:: |
Imagens: resolução, comparação visual, pHash, SSIM, qualidade |
6. prepress:: |
Pré-impressão: TAC, separações, spot colors, fontes, caixas |
7. codes:: |
Códigos de barras e QR: detecção, decodificação, validação |
8. fix:: |
Normalização: caixas, páginas, marca d'água, merge/split, otimizações |
9. data:: |
Dados externos: glossários, datasets e bases de consulta |
| 10. Biblioteca padrão | Métodos de listas e strings, funções globais |
| 11. Comandos do CLI | run, compare, watch, fix, inspect, lint, fmt, doc, pack, add |
| 12. Receitas | Casos completos: gráfica, editora jurídica, laboratório, CI/CD |
Começando em 30 segundos
Crie meu_perfil.pdfl:
// Todo script é uma lista de checks. Cada check agrupa validações
// relacionadas e vira uma seção do relatório.
check "Estrutura básica" {
// require: falha com mensagem gerada automaticamente da expressão
require doc.page_count > 0
// assert: falha com a mensagem que você escreve
assert doc.title != "", "PDF sem título nos metadados"
}
Execute:
pdfl run meu_perfil.pdfl documento.pdf
O relatório sai em JSON no stdout. O código de saída diz o que aconteceu:
0 tudo passou, 1 só avisos, 2 erros de validação, 3 erro de sintaxe.
Convenções desta documentação
- Cada função aparece com assinatura, o que faz, o que devolve e um exemplo comentado.
- Argumentos entre colchetes são opcionais:
calculate_tac([pagina]). - "1-based" significa que a primeira página é
1, não0— a linguagem é feita para quem conta páginas como pessoas contam, não como programadores. - Medidas são sempre em pontos (1 pt = 1/72 pol). Use literais de unidade
(
3mm,1in) e a conversão é automática.
Outros idiomas: English · Espanhol · 日本語 · 中文 · Français · العربية · Deutsch