Composables

usePdfKitDocument

PDF document loading and management.

Handles PDF document loading and provides access to the PDF document instance.

Usage

const {
  pdfDoc,
  loading,
  error,
  progress,
  numPages,
  loadPdf,
  getPage,
  destroy,
} = usePdfKitDocument()

Options

usePdfKitDocument({
  onLoad: (doc) => console.log('PDF loaded:', doc.numPages, 'pages'),
  onError: (error) => console.error('Failed to load PDF:', error),
  onProgress: (progress) => console.log('Loading progress:', progress, '%'),
})
OptionTypeDescription
onLoad(doc: PDFDocumentProxy) => voidCallback when PDF is loaded
onError(error: Error) => voidCallback on loading error
onProgress(progress: number) => voidCallback with loading progress (0-100)

Return Values

PropertyTypeDescription
pdfDocRef<PDFDocumentProxy | null>The loaded PDF document instance
loadingRef<boolean>Loading state
errorRef<string | null>Error message if loading failed
progressRef<number>Loading progress (0-100)
numPagesRef<number>Total number of pages
loadPdf(src: string) => Promise<void>Function to load a PDF
getPage(pageNumber: number) => Promise<PDFPageProxy | null>Get a specific page
destroy() => voidClean up the document

Example

<template>
  <div>
    <div v-if="loading">Loading... {{ progress }}%</div>
    <div v-else-if="error">Error: {{ error }}</div>
    <div v-else>Document has {{ numPages }} pages</div>
  </div>
</template>

<script setup>
const { 
  loading, 
  error, 
  progress, 
  numPages, 
  loadPdf, 
  destroy 
} = usePdfKitDocument({
  onLoad: (doc) => console.log('Loaded!'),
})

onMounted(() => {
  loadPdf('/document.pdf')
})

onUnmounted(() => {
  destroy()
})
</script>
Copyright © 2026