Composables

usePdfKitViewMode

View mode and scroll mode.

Controls the view mode and scroll mode of the PDF viewer.

Usage

const {
  viewMode,
  scrollMode,
  setViewMode,
  setScrollMode,
} = usePdfKitViewMode()

Options

usePdfKitViewMode({
  initialViewMode: 'single',
  initialScrollMode: 'vertical',
})
OptionTypeDefaultDescription
initialViewModeViewMode'single'Initial view mode
initialScrollModeScrollMode'vertical'Initial scroll mode

Return Values

PropertyTypeDescription
viewModeRef<ViewMode>Current view mode
scrollModeRef<ScrollMode>Current scroll mode
setViewMode(mode: ViewMode) => voidSet view mode
setScrollMode(mode: ScrollMode) => voidSet scroll mode

Types

type ViewMode = 'single' | 'dual' | 'dual-cover'
type ScrollMode = 'vertical' | 'horizontal' | 'wrapped' | 'page'

View Modes

ModeDescription
singleDisplay one page at a time
dualDisplay two pages side by side
dual-coverDisplay two pages with first page as cover

Scroll Modes

ModeDescription
verticalScroll vertically through pages
horizontalScroll horizontally through pages
wrappedWrap pages in a grid layout
pageNavigate page by page

Example

<template>
  <div class="flex gap-4">
    <div>
      <p>View Mode:</p>
      <UButtonGroup>
        <UButton 
          :variant="viewMode === 'single' ? 'solid' : 'outline'"
          @click="setViewMode('single')"
        >
          Single
        </UButton>
        <UButton 
          :variant="viewMode === 'dual' ? 'solid' : 'outline'"
          @click="setViewMode('dual')"
        >
          Dual
        </UButton>
      </UButtonGroup>
    </div>
    
    <div>
      <p>Scroll Mode:</p>
      <UButtonGroup>
        <UButton 
          :variant="scrollMode === 'vertical' ? 'solid' : 'outline'"
          @click="setScrollMode('vertical')"
        >
          Vertical
        </UButton>
        <UButton 
          :variant="scrollMode === 'horizontal' ? 'solid' : 'outline'"
          @click="setScrollMode('horizontal')"
        >
          Horizontal
        </UButton>
      </UButtonGroup>
    </div>
  </div>
</template>

<script setup>
const { 
  viewMode, 
  scrollMode, 
  setViewMode, 
  setScrollMode 
} = usePdfKitViewMode()
</script>
Copyright © 2026