API
Core Props
Complete reference for core vue-pdf-export component props covering rendering mode, layout, download, preview, filenames, pagination, margins and output behavior.
| Prop | Type | Default | Description |
|---|---|---|---|
renderMode | `'canvas' \ | 'text'` | 'canvas' |
showLayout | boolean | false | Show export layout. |
floatLayout | boolean | false | Use fixed/floating export layout. |
enableDownload | boolean | true | Download after generation. |
previewModal | boolean | false | Show PDF preview modal. |
filename | string | timestamp fallback | PDF filename. |
pdfQuality | number | 2 | Default html2canvas scale; mainly relevant to canvas mode/images. |
pdfFormat | PDF format | 'a4' | PDF format. |
pdfOrientation | `'portrait' \ | 'landscape'` | 'portrait' |
pdfContentWidth | string | '800px' | Export wrapper width. |
htmlToPdfOptions | Html2PdfOptions | package defaults | Advanced options. |
metadata | PdfMetadataOptions | undefined | PDF metadata. |
compress | boolean | undefined | jsPDF stream compression override. |
security | PdfSecurityOptions | undefined | Password/security configuration. |
manualPagination | boolean | false | Manual pagination mode. |
paginateElementsByHeight | number | undefined | Positive finite height activates the smart DOM pagination planner; otherwise the renderer handles basic page flow. |
showLoader | boolean | true | Show loader. |
loaderText | string | 'Generating PDF...' | Loader text. |
watermark | WatermarkOptions | disabled | Watermark configuration. |
collectMetrics | boolean | false | Collect total, stage, and per-page generation metrics. |
fonts | PdfFontSource[] | undefined | Register TTF/TrueType-outline OTF faces for selectable text (v1.3.0+). |
autoOptimize | `boolean \ | PdfImageOptimizationOptions` | disabled |
svgMode | `'auto' \ | 'preserve' \ | 'rasterize'` |
styling | PdfStylingOptions | disabled/defaults | Export-only page/body styles, scoped CSS, external stylesheets, theme and auto-fit controls. |
Header and footer props are documented in their dedicated sections.
The media props above are published in v1.3.0. See fonts, charts, SVG and images for examples and limitations.
| Additional prop | Type | Purpose |
|---|---|---|
header | HeaderOptions | Built-in header or slot layout and page targeting. |
footer | FooterOptions | Built-in footer or slot layout. |
composition | PdfCompositionOptions | Prepend and/or append existing PDF pages. |
pdfTemplate, templatePosition | PdfTemplateSource, `'prepend' | 'append' |
paginationDebug | boolean, default false | Live planner overlay and diagnostic events. |
Advanced html2pdf Options
const htmlToPdfOptions = {
margin: [0, 0, 0, 0],
enableLinks: true,
pagebreak: {
mode: ['css', 'legacy'],
},
image: {
type: 'jpeg',
quality: 1,
},
html2canvas: {
scale: 3,
useCORS: true,
backgroundColor: '#FFFFFF',
},
jsPDF: {
unit: 'px',
format: 'a4',
orientation: 'p',
hotfixes: ['px_scaling'],
optimizeForBrowser: true,
},
}
<Html2Pdf :html-to-pdf-options="htmlToPdfOptions" />
Important precedence rules:
metadataoverrides rawhtmlToPdfOptions.metadatawhen provided.compressoverrides rawhtmlToPdfOptions.jsPDF.compresswhen provided.security.enabled: trueoverrides raw jsPDF encryption.security.enabled: falseremoves raw encryption.- Non-empty
headerHtmltakes precedence overheaderText. - In HTML footer mode, non-empty
footerHtmltakes precedence overfooterText. headerLogoEnabledcontrols only header logo visibility.footerLogoEnabledcontrols only footer logo visibility.- Explicit user margins remain even when header/footer rendering is disabled.
enableLinks: trueenables generated PDF link annotations.
Html2Pdf Component
The component owns the export DOM, generation state, preview/download flow, cancellation state and exposed methods. Use it directly when you want a template-first Vue API.
PDF Headers in Vue
Configure vue-pdf-export headers with typed objects or Vue slots, page targeting, logos and trusted HTML.
