Documentación de PDFLang — Español
Guía completa del lenguaje .pdfl y de la herramienta de línea de comandos pdfl
— versión 0.6.0.
Todos los ejemplos de esta documentación son código ejecutable y comentado. Si nunca has usado el lenguaje, empieza por el manual (capítulo 1) y consulta el resto como referencia cuando lo necesites.
El idioma de la herramienta. Los mensajes de
pdfl—diagnósticos, errores, ayuda de la línea de comandos y etiquetas de los informes— están en inglés, como es habitual en las herramientas de línea de comandos. Esta documentación está en español, pero un check que falla informa algo comopage 7: 324% ink (limit 300%). Los mensajes que escribes tú en tus scripts salen en el idioma en que los escribas.
Índice
| Capítulo | Contenido |
|---|---|
| 1. El lenguaje | Manual completo: checks, aserciones, tipos, unidades, bloques, funciones, imports, reglas |
| 2. Tipos del documento | doc, page, font, image, region — todas las propiedades y métodos |
3. text:: |
Texto: extracción, normalización, búsqueda, validaciones brasileñas, datos personales |
4. struct:: |
Estructura y metadatos: objetos, XMP, seguridad, huellas |
5. visual:: |
Imágenes: resolución, comparación visual, pHash, SSIM, calidad |
6. prepress:: |
Preimpresión: TAC, separaciones, tintas planas, fuentes, cajas |
7. codes:: |
Códigos de barras y QR: detección, decodificación, validación |
8. fix:: |
Normalización: cajas, páginas, marcas de agua, unión/división, optimización |
9. data:: |
Datos externos: glosarios, conjuntos de datos y tablas de consulta |
| 10. Biblioteca estándar | Métodos de listas y cadenas, funciones globales |
| 11. Comandos del CLI | run, compare, watch, fix, inspect, lint, fmt, doc, pack, add |
| 12. Recetas | Casos completos: imprenta, editorial jurídica, laboratorio, CI/CD |
Empezando en 30 segundos
Crea mi_perfil.pdfl:
// Todo script es una lista de checks. Cada check agrupa validaciones
// relacionadas y se convierte en una sección del informe.
check "Estructura básica" {
// require: falla con un mensaje generado a partir de la propia expresión
require doc.page_count > 0
// assert: falla con el mensaje que tú escribes
assert doc.title != "", "PDF sin título en los metadatos"
}
Ejecuta:
pdfl run mi_perfil.pdfl documento.pdf
El informe sale en JSON por la salida estándar. El código de salida dice qué
ocurrió: 0 todo pasó, 1 solo advertencias, 2 errores de validación,
3 error de sintaxis.
Convenciones de esta documentación
- Cada función aparece con su firma, qué hace, qué devuelve y un ejemplo comentado.
- Los argumentos entre corchetes son opcionales:
calculate_tac([pagina]). - «1-based» significa que la primera página es
1, no0: el lenguaje cuenta las páginas como las cuentan las personas, no como las cuentan los programadores. - Las medidas siempre están en puntos (1 pt = 1/72 pulg). Usa literales de
unidad (
3mm,1in) y la conversión es automática.
Otros idiomas: English · Português (Brasil) · 日本語 · 中文 · Français · العربية · Deutsch