Export Obsidian vaults to PDF with plugin support. Runs locally or in CI.
Documentation: https://spenhouet.com/obsidian-pdf-exporter/
ope turns a folder of an Obsidian vault into one PDF. Every folder becomes a numbered section, and the Obsidian syntax in the notes is rendered: wiki links, embeds of notes, headings, blocks and images, callouts, highlights, tasks, footnotes, math, Mermaid and Bases. Community plugin syntax from Dataview, Meta Bind, Folder Notes, Block Link Plus, Excalidraw, draw.io and pandoc citations is rendered too. It also makes redline PDFs between two git commits, and templates control the look with CSS. It runs on the command line, without Obsidian, so it works in CI.
Each feature page of the docs shows the Markdown next to the rendered PDF.
Install
macOS / Linux
curl -LsSf uvx.sh/obsidian-pdf-exporter/install.sh | sh && ope setup --yes
Windows
powershell -ExecutionPolicy ByPass -c "irm https://uvx.sh/obsidian-pdf-exporter/install.ps1 | iex; ope setup --yes"
ope setup installs the native libraries WeasyPrint needs and pandoc. See Installation for every OS, uv, pip and CI.
Quick start
ope export ./MyVault/Handbook --title "Team handbook" --version 1.2.0
ope redline ./MyVault/Handbook --from-commit v1.1.0 --to-commit HEAD
ope export ./MyVault/Handbook --template ./my-template/
ope --help
Documentation
| Topic | Link |
|---|---|
| Install on every OS, quick start | Getting started |
Every command, flag, -O option, env var and exit code |
CLI reference |
| Markdown: tables, code, footnotes, math | Markdown |
| Obsidian syntax: wiki links, embeds, callouts, Mermaid | Obsidian |
| Dataview, Meta Bind, Excalidraw, draw.io, writing a plugin | Plugins |
| Tracked-changes PDFs | Redline |
| Templates, header and footer, CSS classes, recipes | Templates and styling |
| Claude Code plugin, skill, llms.txt | Use with AI agents |
| Development setup, architecture, tests | Contributing |
Use with AI agents
The repository is a Claude Code plugin marketplace with a skill for ope:
/plugin install obsidian-pdf-exporter --marketplace Spenhouet/obsidian-pdf-exporter
On older Claude Code versions, run /plugin marketplace add Spenhouet/obsidian-pdf-exporter and then /plugin install obsidian-pdf-exporter@obsidian-pdf-exporter. Other agents can read llms.txt.
License
Metadata
Release files for obsidian-pdf-exporter 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| obsidian_pdf_exporter-0.7.2.tar.gz | 124.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| obsidian_pdf_exporter-0.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 291.6 kB
Release files / obsidian_pdf_exporter-0.7.2.tar.gz
| Download URL | obsidian_pdf_exporter-0.7.2.tar.gz |
|---|---|
| Size | 124.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed9b6b14b8a9364f3e37d00ab5204c91287820d899eb0ebacbd2eda17efb9fe9
|
|
BLAKE2b-256 checksum How to use checksums |
bab2efc42069b5edfcdcebb3fd34b4a2a82cf689d8eedb3bdeb543f40b0bfb00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / obsidian_pdf_exporter-0.7.2-py3-none-any.whl
| Download URL | obsidian_pdf_exporter-0.7.2-py3-none-any.whl |
|---|---|
| Size | 167.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d623883df4e3d53dcf5e417590ef266bd22910fab1fba16e3e3c67895d2ad0c6
|
|
BLAKE2b-256 checksum How to use checksums |
e5fb39b99b1322478588fa4e99e1eab24cd0f2198c28ec70d18172cd3791fa1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|