Get Started

Introduction

Learn what vue-pdf-export provides for Vue applications, including Canvas and selectable-text PDF rendering, output formats, SSR safety and styling.

vue-pdf-export is a Vue + TypeScript HTML-to-PDF component and composable for browser applications.

The v1.1.1 release completes the reliability and compatibility foundation while preserving the existing public API.

It supports two rendering modes:

  • Canvas mode - maximum HTML/CSS visual fidelity through html2pdf.js + html2canvas + jsPDF.
  • Selectable text mode - browser-side vector PDF rendering with real selectable/searchable/copyable text, clickable PDF links, password protection, metadata, compression, page-aware headers/footers, and watermarks.

It also includes manual and automatic pagination, preview, download, native browser print, Blob/ArrayBuffer/Base64 output, export-only page/body styling, data-pdf-ignore, custom export CSS, external print stylesheets, forced light/dark themes, width auto-fit, safe filename normalization, progress stages, opt-in generation metrics, current-page progress, cancellation, page targeting, PDF permissions, SSR-safe imports, large-document optimizations, and advanced renderer configuration.

Default package behavior remains renderMode="canvas" for backwards compatibility. The live playground may choose a different default for demonstration purposes.

Highlights

  • Browser-side PDF generation with no package-managed upload service
  • Canvas and selectable-text rendering
  • Blob, ArrayBuffer, raw Base64, and PDF data-URL output
  • Native browser print support in both rendering modes
  • Incremental page-by-page Canvas rendering when page-break markers are present
  • Cooperative cancellation for long-running exports
  • Page-aware progress with currentPage / totalPages
  • Opt-in total, stage, and per-page generation timing metrics
  • data-pdf-ignore for screen-only UI that must stay out of generated PDFs
  • Export-only page/body styling without mutating the visible Vue DOM
  • Repeated-image caching in selectable-text rendering
  • Temporary DOM/canvas cleanup between expensive rendering steps
  • Password protection, owner password, PDF permission flags, metadata, and compression
  • Headers, footers, logos, watermarks, page targeting, and clickable links
  • SSR-safe package imports with Nuxt 3 and Nuxt 4 validation
  • Packed-consumer verification across npm, pnpm, Yarn, Yarn Plug'n'Play, and Bun
  • Large-document stress presets from 5 through 1000 pages, plus custom counts
Try it before integrating
The live playground exposes the package options, output APIs and diagnostics interactively.
Open playground
Copyright © 2026