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 .pdf extension
  • 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 CON and LPT1
  • preserves Unicode
  • limits excessively long base names

Examples:

normalizePdfFilename('report')
// report.pdf

normalizePdfFilename('report.PDF')
// report.pdf

normalizePdfFilename('CON')
// _CON.pdf

normalizePdfFilename(' ग्राहक रिपोर्ट ')
// ग्राहक रिपोर्ट.pdf
Copyright © 2026