Hey Bubblers ![]()
Sharing a free plugin I built: Bubble2PDF Exporter — convert any Bubble page or element to a multi-page PDF, directly from the browser. No external API, no subscription, no server costs.
### What it does
- Export a full page or a single element by its ID
- Multi-page support with automatic content splitting
- All standard page formats (A4, Letter, Legal, Tabloid, A3, A5, B-series, Executive, Custom)
- Portrait and landscape orientation
- Configurable margins (top, right, bottom, left)
- Headers and footers with `{{pageNumber}}` / `{{totalPages}}` placeholders
- Page numbers (left, center, or right)
- Page break control (Pagebreaker IDs, avoid-inside, break-after)
- Watermark text with configurable opacity and angle
- Custom CSS injection for print-specific styles
- Dynamic file names
- Auto-download or manual trigger
- Progress tracking (0-100%)
- Upload to Bubble’s file manager
- All states exposed: PDF URL, Base64, Page Count, File Size, Error Message
### How to use
1. Place the ConverterToPDF element on your page
2. Set the Element ID of the group you want to export
3. Add a button → workflow → Element Actions → Convert to PDF
4. Done. PDF downloads automatically.
### Demo
### Plugin page
### Plugin Documentation
### Why I built this
I needed reliable PDF export across multiple projects. The existing options were either $100+, required external API subscriptions, or had reliability issues. Bubble2PDF Exporter runs entirely in the browser — no API keys, no server infrastructure, no usage limits.
### Features at a glance
| Feature | Bubble2PDF Exporter |
|---------|:—![]()
| Convert page or element to PDF |
|
| All standard page formats + custom |
|
| Multi-page with auto-splitting |
|
| Page break control (breaker IDs, avoid-inside, break-after) |
|
| Headers & footers with page numbers |
|
| Watermark (text, opacity, angle) |
|
| Progress tracking |
|
| Custom CSS injection |
|
| Base64 output for workflows |
|
| Upload to Bubble file manager |
|
| Dynamic file names |
|
| No external API / no server |
|
### Known limitations
- Cross-origin images (from Bubble’s CDN) may appear blank due to browser CORS restrictions. Same-origin images and inline SVGs work fine. For full image support, host assets on a CORS-enabled CDN.
- Maps, WebGL, iframes won’t render (browser-level limitation shared by all client-side PDF tools).
-–
Happy to answer questions. If you run into issues, drop them here and I’ll help out.
Cheers! ![]()