by Dryden Bryson
Export a whole folder of notes to PDF, either one PDF per note or one combined PDF with a table of contents, bookmarks and working links.
π Batch PDF Export
Export a whole folder of Obsidian notes to PDF, one file per note or one combined book.
β Get it from the Obsidian community plugins
Features Β· Install Β· Usage Β· Settings Β· Limitations Β· Contributing
β¨ Features
π¨οΈ Faithful rendering
|
π Combined PDF extras
|
Leave out any notes or subfolders you don't need, in either mode. Exports show a progress notice with a Cancel button, so long batches never lock you in, and finish with a button to open the PDF or folder.
π¦ Installation
[!IMPORTANT] Desktop only: Windows, macOS and Linux.
From Obsidian (recommended)
- Open Settings β Community plugins β Browse.
- Search for Batch PDF Export.
- Select Install, then Enable.
Or open the plugin listing directly.
Manual install
- Download
main.js,manifest.jsonandstyles.cssfrom the latest release. - Copy them into
<Vault>/.obsidian/plugins/batch-pdf-export/. - Reload Obsidian and enable the plugin in Settings β Community plugins.
Beta builds with BRAT
- Install BRAT.
- Select Add beta plugin and enter
Dryd33n/obsidian-batch-pdf-export.
π Usage
- Right-click a folder and select Export folder to PDF, or run Export folder to PDF⦠from the command palette (Ctrl/Cmd + P).
- Pick One PDF per note or One combined PDF.
- Optionally, select Reorder and remove⦠(combined) or Remove notes⦠(one per note) to change the note order or leave notes out. See Note order.
- Optionally, open Advanced to change code colors or use your theme for this export. Select Save as default to keep the choices for next time.
- Select Export and choose where to save. When it finishes, select Open PDF or Open folder in the notice.
[!TIP] Want a single shareable document? Choose One combined PDF. You get a title page, a clickable table of contents, and bookmarks for every folder.
π Note order
Notes are exported in alphabetical order, each folder's notes before its subfolders. To change that, select Reorder and remove⦠in the export dialog:
- Drag a note or folder, or use the β β buttons, to move it within its folder. Notes stay in their own folder, so the table of contents and bookmarks keep the folder structure.
- Sort by name, date created or date modified, then adjust from there.
- Select β to leave a note or a whole folder out. Removed items are listed under Removed, where you can restore them.
- Select Done to use the order for this export, or Save for next time to keep it for this folder. Saved orders follow notes when they are renamed or moved.
New notes are added at the end of their folder. Select Reset in the export dialog to go back to alphabetical order and forget the saved order.
βοΈ Settings
Defaults for every export, under Settings β Batch PDF Export:
| Setting | Default |
|---|---|
| Export mode | One PDF per note |
| Include subfolders | β On |
| Page size | A4, portrait |
| Margins | 15 mm |
| Page numbers | β On |
| Title page and table of contents | β On |
| Date shown | date property, else date modified |
| Date format | YYYY-MM-DD |
| Inline code colors | Light (also Dark, or Match app) |
| Code block colors | Light (also Dark, or Match app) |
| Use community theme and snippets | β¬ Off |
| Render timeout | 10 s per note |
β οΈ Limitations
- Embedded PDFs, audio, video and canvases print as placeholders.
- Links between separate PDFs work in desktop viewers (Acrobat, Foxit, SumatraPDF), but not in most browsers.
- Code block options read from the fence line by some plugins (Shiki titles and line numbers, Advanced Codeblock line numbers) are not printed, the same as in Obsidian's own PDF export. Code Styler is supported.
- Mermaid diagrams need your vault's Mermaid permission. The export asks for it if it's missing.
[!NOTE] Slow plugin content such as Dataview may need more time. Increase Render timeout if it comes out blank.
[!NOTE] Privacy: everything runs locally. PDFs are saved only where you choose, and nothing else outside the vault is touched.
π€ Contributing
Issues and pull requests are welcome.
- π Bugs: open an issue with your Obsidian version, OS and, if you can, a sample note that reproduces the problem.
- π‘ Features: open an issue to discuss before starting large changes.
Development setup
git clone https://github.com/Dryd33n/obsidian-batch-pdf-export.git
cd obsidian-batch-pdf-export
npm install
npm run dev # rebuild main.js on change
Copy main.js, manifest.json and styles.css into a test vault at .obsidian/plugins/batch-pdf-export/, then reload Obsidian.
Pull request checklist
- Branch from
masterand keep each PR focused on one change. -
npm run lintandnpm run buildpass with no errors. - Both export modes tested in Obsidian, and the PR describes what you tested.
- No
main.jsor other build output committed. - Any UI text uses sentence case.
Code layout
| Path | Contents |
|---|---|
src/main.ts | Plugin lifecycle |
src/commands/ | Command and folder menu |
src/ui/ | Modals and notices |
src/export/ | Rendering, links, printing and PDF post-processing |
src/utils/ | Electron, path and HTML helpers |
Releasing
Bump version in manifest.json, package.json and versions.json, then push a tag with the same version (no v prefix). CI builds the plugin and creates a draft release for you to publish.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.