README file from
GithubSingle Page PDF Export
An Obsidian plugin that exports notes as a single-page PDF without page breaks. The page height is automatically calculated based on content — no manual configuration needed.
Features
- Single-page PDF: No page breaks, entire document on one continuous page
- Auto-calculated height: Content height measured automatically at A4 width
- Preview: See the rendered content before exporting
- User fonts: Respects your Obsidian font settings
- i18n: English and Chinese (Simplified) supported
- Context menu: Right-click a file to export directly
Installation
From Community Plugins
- Open Obsidian → Settings → Community Plugins
- Click Browse and search for "Single Page PDF"
- Click Install, then Enable
Manual
- Download
main.js,manifest.json,styles.cssfrom Releases - Copy to
<vault>/.obsidian/plugins/single-page-pdf/ - Enable in Settings → Community Plugins
Usage
Command Palette
- Open the markdown file you want to export
Ctrl+P→ type "Single Page PDF"- Preview opens → click "Export PDF"
File Menu
- Right-click a
.mdfile in the file explorer - Select "Export to single-page PDF"
Build
npm install
npm run build
Output is in the dist/ folder.
Development
npm run dev
Watches for changes and rebuilds automatically.
How It Works
- Renders markdown using Obsidian's
MarkdownRenderer - Injects the rendered HTML into a
<webview>at A4 width (794px) - Measures
scrollHeightto get actual content height - Scales the preview to fit the container
- Calls
webview.printToPDF()with custom page size (A4 width × content height)
Supported Languages
| Locale | Language |
|---|---|
en |
English |
zh-cn |
简体中文 |
To add a new language, create src/i18n/<locale>.ts and register it in src/i18n/index.ts.
License
MIT