Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pdfunite Processor

Purpose

Merges PDF files from subdirectories into single combined PDFs using pdfunite.

How It Works

Scans subdirectories of the configured source directory for files matching the configured extension. For each subdirectory, it locates the corresponding PDFs (generated by an upstream processor such as marp) and merges them into a single output PDF.

This processor is designed for course/module workflows where slide decks in subdirectories are combined into course bundles.

Source Files

  • Input: PDFs from upstream processor (e.g., out/marp/pdf/{subdir}/*.pdf)
  • Output: out/courses/{subdir}.pdf

Configuration

[processor.pdfunite]
pdfunite_bin = "pdfunite"              # The pdfunite command to run
source_dir = "marp/courses"           # Base directory containing course subdirectories
source_ext = ".md"                     # Extension of source files in subdirectories
source_output_dir = "out/marp/pdf"     # Where the upstream processor puts PDFs
args = []                              # Additional arguments to pass to pdfunite
output_dir = "out/courses"             # Output directory for merged PDFs
extra_inputs = []                      # Additional files that trigger rebuilds when changed
KeyTypeDefaultDescription
pdfunite_binstring"pdfunite"The pdfunite executable to run
source_dirstring"marp/courses"Directory containing course subdirectories
source_extstring".md"Extension of source files to look for
source_output_dirstring"out/marp/pdf"Directory where the upstream processor outputs PDFs
argsstring[][]Extra arguments passed to pdfunite
output_dirstring"out/courses"Output directory for merged PDFs
extra_inputsstring[][]Extra files whose changes trigger rebuilds