| 1 | --- |
| 2 | name: exporting |
| 3 | description: Export presentations to PDF, PPTX, PNG, or Markdown |
| 4 | --- |
| 5 | |
| 6 | # Exporting Slides |
| 7 | |
| 8 | Export presentations to PDF, PPTX, PNG, or Markdown. |
| 9 | |
| 10 | ## Browser Exporter |
| 11 | |
| 12 | Access at `http://localhost:3030/export`: |
| 13 | - Select format and options |
| 14 | - Preview and download |
| 15 | |
| 16 | ## CLI Export |
| 17 | |
| 18 | Requires playwright: |
| 19 | ```bash |
| 20 | pnpm add -D playwright-chromium |
| 21 | ``` |
| 22 | |
| 23 | ### PDF Export |
| 24 | |
| 25 | ```bash |
| 26 | slidev export |
| 27 | slidev export --output my-slides.pdf |
| 28 | ``` |
| 29 | |
| 30 | ### PowerPoint Export |
| 31 | |
| 32 | ```bash |
| 33 | slidev export --format pptx |
| 34 | ``` |
| 35 | |
| 36 | ### PNG Export |
| 37 | |
| 38 | ```bash |
| 39 | slidev export --format png |
| 40 | slidev export --format png --range 1-5 |
| 41 | ``` |
| 42 | |
| 43 | ### Markdown Export |
| 44 | |
| 45 | ```bash |
| 46 | slidev export --format md |
| 47 | ``` |
| 48 | |
| 49 | ## Export Options |
| 50 | |
| 51 | ### With Click Steps |
| 52 | |
| 53 | Export each click as separate page: |
| 54 | ```bash |
| 55 | slidev export --with-clicks |
| 56 | ``` |
| 57 | |
| 58 | ### Dark Mode |
| 59 | |
| 60 | ```bash |
| 61 | slidev export --dark |
| 62 | ``` |
| 63 | |
| 64 | ### Slide Range |
| 65 | |
| 66 | ```bash |
| 67 | slidev export --range 1,4-7,10 |
| 68 | ``` |
| 69 | |
| 70 | ### Table of Contents |
| 71 | |
| 72 | PDF with clickable outline: |
| 73 | ```bash |
| 74 | slidev export --with-toc |
| 75 | ``` |
| 76 | |
| 77 | ### Timeout |
| 78 | |
| 79 | For slow-rendering slides: |
| 80 | ```bash |
| 81 | slidev export --timeout 60000 |
| 82 | ``` |
| 83 | |
| 84 | ### Wait |
| 85 | |
| 86 | Wait before capture: |
| 87 | ```bash |
| 88 | slidev export --wait 2000 |
| 89 | ``` |
| 90 | |
| 91 | ### Wait Until |
| 92 | |
| 93 | Wait condition: |
| 94 | ```bash |
| 95 | slidev export --wait-until networkidle # Default |
| 96 | slidev export --wait-until domcontentloaded |
| 97 | slidev export --wait-until load |
| 98 | slidev export --wait-until none |
| 99 | ``` |
| 100 | |
| 101 | ### Transparent Background |
| 102 | |
| 103 | ```bash |
| 104 | slidev export --omit-background |
| 105 | ``` |
| 106 | |
| 107 | ### Custom Browser |
| 108 | |
| 109 | ```bash |
| 110 | slidev export --executable-path /path/to/chrome |
| 111 | ``` |
| 112 | |
| 113 | ## Headmatter Options |
| 114 | |
| 115 | ```yaml |
| 116 | --- |
| 117 | exportFilename: my-presentation |
| 118 | download: true # Add download button in build |
| 119 | export: |
| 120 | format: pdf |
| 121 | timeout: 30000 |
| 122 | withClicks: false |
| 123 | --- |
| 124 | ``` |
| 125 | |
| 126 | ## Troubleshooting |
| 127 | |
| 128 | ### Missing Content |
| 129 | |
| 130 | Increase wait time: |
| 131 | ```bash |
| 132 | slidev export --wait 3000 --timeout 60000 |
| 133 | ``` |
| 134 | |
| 135 | ### Wrong Global Layer State |
| 136 | |
| 137 | Use `--per-slide` or use `slide-top.vue` instead of `global-top.vue`. |
| 138 | |
| 139 | ### Broken Emojis |
| 140 | |
| 141 | Use system fonts or install emoji font on server. |
| 142 | |
| 143 | ### CI/CD Export |
| 144 | |
| 145 | Install playwright browsers: |
| 146 | ```bash |
| 147 | npx playwright install chromium |
| 148 | ``` |
| 149 |