Sapana Micro Software
pdf2beamer
A throttled, resumable pipeline from PDF pages to Beamer.
pdf2beamer converts a PDF into a Beamer deck without handing the machine over to the conversion. Finished pages and slides are checkpointed beside the output, so an interrupted run continues from the last completed unit.
Read the paper
The technical report, the Beamer talk, and the operator manual. The source repository stays private. These documents are the public face of the tool.
Seven pages. Architecture, furniture filter, formulas, checkpoints.
What the pipeline does
Stages are barriers, not a free pipeline. All pages are read before any paragraph is distilled.
Utility QoS and a reserved pair of threads keep the conversion off the foreground. Checkpoints make a long document restartable.
Install
Install Homebrew, then tap the public repository, trust it, and install pdf2beamer. The formula in that tap, Formula/pdf2beamer.rb, downloads the signed v1.0.1 release and installs pdf2beamer, d2s, and the manual page. It requires macOS 27 or newer.
Install Homebrew
Paste the installer into Terminal. On Apple Silicon, Homebrew lives in /opt/homebrew, so the shell needs brew shellenv before the three commands below.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Install Homebrew. The script explains what it will do and waits for confirmation. Skip this when brew is already on PATH.
eval "$(/opt/homebrew/bin/brew shellenv)"Put Homebrew on PATH for Apple Silicon. Add that line to ~/.zprofile so a new terminal can find brew.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" echo >> ~/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
Install pdf2beamer
brew tap sapana-micro-software/pdf2beamerAdd the tap that holds the formula and the signed release.
brew trust --tap sapana-micro-software/pdf2beamerHomebrew ignores an unofficial tap until you trust it.
brew install sapana-micro-software/pdf2beamer/pdf2beamerInstall the script, the sealed d2s worker, and the manual page from the v1.0.1 release.
man pdf2beamerRead the manual page installed with the formula.
brew tap sapana-micro-software/pdf2beamer brew trust --tap sapana-micro-software/pdf2beamer brew install sapana-micro-software/pdf2beamer/pdf2beamer man pdf2beamer
Install the models
The formula installs the ollama program. These two commands download the models from Ollama. Pull each one once. glm-ocr reads page images. gemma3:12b distills paragraphs.
ollama pull glm-ocrDownload the OCR model. pdf2beamer sends each page with the prompt Text Recognition:.
ollama pull gemma3:12bDownload the paragraph summarizer used when gemma4:13b is not installed.
ollama pull glm-ocr ollama pull gemma3:12b
Requirements in the formula
Homebrew installs these when it installs pdf2beamer. The Ruby formula declares them with depends_on. pdflatex is separate: pass --pdf only when MacTeX or BasicTeX is on PATH.
ghostscriptRasterize each page.
imagemagickShrink the long edge of that raster.
ollamaOCR with glm-ocr and distill paragraphs.
xpdfpdfinfo and pdftotext for page count, metadata, and the text layer.
The release worker is codesigned with a hardened runtime and an Apple timestamp. Authority: Apple Development: Kailash Chandra (SZYFREVM6P).
Copyright (C) Shyamal Chandra, 2026. All rights reserved.