id = "pdfalyzer" name = "pdfalyzer" homepage = "https://github.com/michelcrypt4d4mus/pdfalyzer" description = "PDF analysis toolkit" executables = ["pdfalyze"] [dotfiles] # The project's README says pdfalyze checks the current directory and then # the user's home directory for a .pdfalyzer options file. # https://github.com/michelcrypt4d4mus/pdfalyzer#setting-command-line-options-permanently-with-a-pdfalyzer-file 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') # PDFALYZER_OUTPUT_DIR=/dir/to/export/files/to `--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"]