API
TypeScript
The package ships TypeScript declarations.
TypeScript
The package ships TypeScript declarations.
Common types:
import type {
BeforeDownloadPayload,
FooterMode,
FooterOptions,
GeneratePdfResult,
HeaderOptions,
Html2CanvasOptions,
Html2PdfOptions,
Html2PdfProps,
JsPdfOptions,
PdfEncryptionOptions,
PdfFormat,
PdfImageOptions,
PdfMargin,
PdfMetadataOptions,
PdfOrientation,
PdfPageBreakOptions,
PdfPageTarget,
PdfPermission,
PdfProgressStage,
PdfProgressState,
PdfRenderMode,
PdfSecurityOptions,
WatermarkLayer,
WatermarkMode,
WatermarkOptions,
WatermarkType,
} from 'vue-pdf-export'
Render mode type:
export type PdfRenderMode = 'canvas' | 'text'
Useful helpers:
import { createPdfOptions, normalizePdfFilename, resolvePdfPages } from 'vue-pdf-export'
Filename Normalization
import { normalizePdfFilename } from 'vue-pdf-export'
normalizePdfFilename('invoice:/customer?2026')
// invoice--customer-2026.pdf
Normalization:
- adds exactly one
.pdfextension - prevents duplicate
.pdf - sanitizes unsafe filename/path characters
- trims trailing dots and spaces
- falls back to a timestamp for empty names
- protects Windows reserved device names such as
CONandLPT1 - preserves Unicode
- limits excessively long base names
Examples:
normalizePdfFilename('report')
// report.pdf
normalizePdfFilename('report.PDF')
// report.pdf
normalizePdfFilename('CON')
// _CON.pdf
normalizePdfFilename(' ग्राहक रिपोर्ट ')
// ग्राहक रिपोर्ट.pdf
