Node API

pdf()

The pdf() function creates a renderer instance from a Vue component. It provides methods for generating PDF output in various formats.

Signature

ts
function pdf(
  element: VueApp | Component | { new (): Component },
  props?: Record<string, unknown>
): PDFInstance

PDFInstance Methods

PropTypeDefaultDescription
toBlob()Promise<Blob>Generate PDF as a Blob.
toBuffer()Promise<Buffer>Generate PDF as a Node.js Buffer. Only available in Node.
toString()Promise<string>Generate PDF as a base64-encoded string.
updateContainer(element)voidRe-render with a new Vue component or app.
on(event, callback)voidListen for events (change when rendering completes).

Node.js Example

ts
import { pdf } from '@vuepdf/renderer'
import { createSSRApp } from 'vue'
import MyDocument from './MyDocument.vue'

const app = createSSRApp(MyDocument, { title: 'My Doc' })
const instance = pdf(app)

// Generate as Buffer (Node)
const buffer = await instance.toBuffer()
fs.writeFileSync('./output.pdf', buffer)

// Or as a base64 string
const base64 = await instance.toString()

Browser Example

ts
import { pdf } from '@vuepdf/renderer'
import { createApp } from 'vue'
import MyDocument from './MyDocument.vue'

const app = createApp(MyDocument, { title: 'My Doc' })
const instance = pdf(app)

instance.on('change', () => {
  console.log('PDF rendered!')
})

const blob = await instance.toBlob()
// Use the blob for download, preview, etc.