id = "pdfalyzer"
name = "pdfalyzer"
homepage = "https://github.com/michelcrypt4d4mus/pdfalyzer"
description = "PDF analysis toolkit"
executables = ["pdfalyze"]
[dotfiles]
paths = ["~/.pdfalyzer"]
secret = []
[commands]
format = 1
label = "Analyze a PDF"
description = "Analyze the object tree of a PDF with pdfalyze. Only the options named in the project README are offered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "readme"
kind = "manual"
url = "https://github.com/michelcrypt4d4mus/pdfalyzer#readme"
revision = "README 2026-10-27"
evidence = """
pdfalyze martin_heidegger-being_illmatic.pdf
The `--streams` output is the one used to hunt for patterns in the embedded bytes
`PDFALYZER_OUTPUT_DIR=/dir/to/export/files/to`
you tend to reuse (e.g. '--maximize-width')
`--extract-binary-streams`
`--debug`
"""
[[commands.field]]
id = "pdf"
label = "PDF file"
type = "path"
path = { kind = "file", role = "input" }
position = 0
sources = ["readme"]
[[commands.field]]
id = "streams"
label = "Show stream contents"
description = "Very verbose output of embedded bytes."
type = "boolean"
option = ["--streams"]
sources = ["readme"]
[[commands.field]]
id = "maximize_width"
label = "Maximize width"
type = "boolean"
option = ["--maximize-width"]
sources = ["readme"]
[[commands.field]]
id = "debug"
label = "Debug logging"
type = "boolean"
option = ["--debug"]
sources = ["readme"]
[[commands.task]]
id = "analyze"
label = "Analyze a PDF"
fields = ["pdf", "maximize_width"]
required = ["pdf"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["pdf", "streams", "maximize_width", "debug"]