Api

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.

Core props

PropTypeDefaultDescription
renderMode`'canvas' \'text'`'canvas'
showLayoutbooleanfalseShow export layout.
floatLayoutbooleanfalseUse fixed/floating export layout.
enableDownloadbooleantrueDownload after generation.
previewModalbooleanfalseShow PDF preview modal.
filenamestringtimestamp fallbackPDF filename.
pdfQualitynumber2Default html2canvas scale; mainly relevant to canvas mode/images.
pdfFormatPDF format'a4'PDF format.
pdfOrientation`'portrait' \'landscape'`'portrait'
pdfContentWidthstring'800px'Export wrapper width.
htmlToPdfOptionsHtml2PdfOptionspackage defaultsAdvanced options.
metadataPdfMetadataOptionsundefinedPDF metadata.
compressbooleanundefinedjsPDF stream compression override.
securityPdfSecurityOptionsundefinedPassword/security configuration.
manualPaginationbooleanfalseManual pagination mode.
paginateElementsByHeightnumberrequired for auto modeAutomatic page height.
showLoaderbooleantrueShow loader.
loaderTextstring'Generating PDF...'Loader text.
watermarkWatermarkOptionsdisabledWatermark configuration.
collectMetricsbooleanfalseCollect total/stage/per-page generation timing metrics.
stylingPdfStylingOptionsdisabled/defaultsApply export-only page/body styling, scoped CSS, theme and auto-fit controls.

Header and footer props are documented in their dedicated sections.

Exposed methods

interface Html2PdfInstance {
  generatePdf: () => Promise<Blob>
  generatePdfArrayBuffer: () => Promise<ArrayBuffer>
  generatePdfBase64: (options?: PdfBase64Options) => Promise<string>
  print: () => Promise<void>
  closePreview: () => void
  resetPagination: () => void
  cancelGeneration: () => void
}

generatePdfArrayBuffer() and generatePdfBase64() reuse the generated PDF Blob and do not run a second renderer.

See Programmatic API for output examples and cancellation details.

Copyright © 2026