PDFLang
pdfl 0.10.1

PDFLang

A scripting language for validating PDFs

Readable by people who do not program. No classes, no inheritance, no semicolons — just checks and assertions, run by the pdfl CLI.

Get started in 30 seconds

Save it as profile.pdfl and run it against any document:

// Each check becomes a section of the report.
check "Basic structure" {
  require doc.page_count > 0
  assert doc.title != "", "PDF has no title in its metadata"
}

check "Ink within limit" tags: ["prepress"] {
  require prepress::validate_tac_limits(300)
}
pdfl run profile.pdfl document.pdf

Why PDFLang

Install

Installers for Linux, macOS and Windows, with pdfium bundled.

  • Linux

    sudo dpkg -i pdfl_0.10.1_amd64.deb
  • macOS

    open pdfl-0.10.1-macos-arm64.dmg
  • Windows

    msiexec /i pdfl-0.10.1-windows-amd64.msi /qn
All downloads →

Documentation

The full language manual, a reference for every function, and ready-made recipes.

Read the documentation