Komponen

Metode

Metode yang tersedia untuk kontrol programatik.

Komponen NuxtPdfKit mengekspos objek controls melalui template ref yang bisa kamu gunakan untuk kontrol secara programatik.

Cara Menggunakan

<template>
  <NuxtPdfKit ref="pdfViewer" src="/document.pdf" />
  <button @click="goToPage5">Ke Halaman 5</button>
</template>

<script setup>
const pdfViewer = ref(null)

function goToPage5() {
  pdfViewer.value?.controls.pageControl.goToPage(5)
}
</script>

Kontrol yang Tersedia

GrupPropertiTipeDeskripsi
pageControlgoToPage(page: number) => voidPindah ke halaman tertentu
pageControlprevPage() => voidKembali ke halaman sebelumnya
pageControlnextPage() => voidLanjut ke halaman berikutnya
pageControlcurrentPagenumber (readonly)Nomor halaman saat ini
pageControltotalPagesnumber (readonly)Total jumlah halaman
zoomControlzoomIn() => voidMemperbesar tampilan
zoomControlzoomOut() => voidMemperkecil tampilan
zoomControlsetZoom(level: number | ZoomLevel) => voidMengatur level zoom spesifik
zoomControlscalenumber (readonly)Skala zoom saat ini
zoomControlzoomModeZoomLevel (readonly)Mode zoom saat ini
rotateControlrotateClockwise() => voidPutar +90°
rotateControlrotateCounterclockwise() => voidPutar -90°
rotateControlrotationnumber (readonly)Rotasi saat ini (0, 90, 180, 270)
searchControlsearch(query: string) => voidMelakukan pencarian
searchControlnextMatch() => voidKe hasil berikutnya
searchControlprevMatch() => voidKe hasil sebelumnya
searchControlclearSearch() => voidMenghapus hasil pencarian
searchControlquerystring (readonly)Kata kunci pencarian saat ini
searchControlmatchesSearchMatch[] (readonly)Hasil pencarian
searchControlcurrentMatchIndexnumber (readonly)Indeks hasil saat ini
printControlprint() => voidMembuka dialog pencetakan
downloadControldownload() => voidMengunduh file PDF
viewControlsetViewMode(mode: ViewMode) => voidMengatur mode tampilan
viewControlsetScrollMode(mode: ScrollMode) => voidMengatur mode gulir
viewControltoggleSidebar() => voidMenampilkan/menyembunyikan sidebar thumbnail
viewControltoggleFullscreen() => voidMengaktifkan layar penuh
viewControlviewModeViewMode (readonly)Mode tampilan saat ini
viewControlscrollModeScrollMode (readonly)Mode gulir saat ini
viewControlisFullscreenboolean (readonly)Status layar penuh
viewControlisSidebarVisibleboolean (readonly)Status sidebar
themeControltoggleTheme() => voidGanti tema terang/gelap
themeControlisDarkboolean (readonly)Status mode gelap
<script setup>
const pdfViewer = ref(null)

// Ke halaman 10
pdfViewer.value?.controls.pageControl.goToPage(10)

// Navigasi
pdfViewer.value?.controls.pageControl.nextPage()
pdfViewer.value?.controls.pageControl.prevPage()
</script>

Zoom

<script setup>
const pdfViewer = ref(null)

pdfViewer.value?.controls.zoomControl.zoomIn()
pdfViewer.value?.controls.zoomControl.zoomOut()

// Atur ke 150%
pdfViewer.value?.controls.zoomControl.setZoom(1.5)

// Sesuaikan halaman
pdfViewer.value?.controls.zoomControl.setZoom('page-fit')

// Sesuaikan lebar
pdfViewer.value?.controls.zoomControl.setZoom('page-width')
</script>

Rotasi

<script setup>
const pdfViewer = ref(null)

pdfViewer.value?.controls.rotateControl.rotateClockwise()
pdfViewer.value?.controls.rotateControl.rotateCounterclockwise()
</script>

Pencarian

<script setup>
const pdfViewer = ref(null)

pdfViewer.value?.controls.searchControl.search('invoice')
pdfViewer.value?.controls.searchControl.nextMatch()
pdfViewer.value?.controls.searchControl.clearSearch()
</script>

Cetak & Unduh

<script setup>
const pdfViewer = ref(null)

pdfViewer.value?.controls.printControl.print()
pdfViewer.value?.controls.downloadControl.download()
</script>

Mode Tampilan & Tema

<script setup>
const pdfViewer = ref(null)

// Mode tampilan dan gulir
pdfViewer.value?.controls.viewControl.setViewMode('dual')
pdfViewer.value?.controls.viewControl.setScrollMode('horizontal')

// Sidebar dan layar penuh
pdfViewer.value?.controls.viewControl.toggleSidebar()
pdfViewer.value?.controls.viewControl.toggleFullscreen()

// Tema
pdfViewer.value?.controls.themeControl.toggleTheme()
</script>

Contoh Lengkap

<template>
  <div class="flex flex-col gap-4">
    <!-- Kontrol Kustom -->
    <div class="flex gap-2">
      <UButton @click="pdfViewer?.controls.pageControl.prevPage()">Sebelumnya</UButton>
      <UButton @click="pdfViewer?.controls.pageControl.nextPage()">Berikutnya</UButton>
      <UButton @click="pdfViewer?.controls.zoomControl.zoomIn()">Perbesar</UButton>
      <UButton @click="pdfViewer?.controls.zoomControl.zoomOut()">Perkecil</UButton>
      <UButton @click="pdfViewer?.controls.rotateControl.rotateClockwise()">Putar</UButton>
      <UButton @click="pdfViewer?.controls.printControl.print()">Cetak</UButton>
      <UButton @click="pdfViewer?.controls.downloadControl.download()">Unduh</UButton>
    </div>

    <!-- PDF Viewer -->
    <div class="h-[600px]">
      <NuxtPdfKit ref="pdfViewer" src="/document.pdf" />
    </div>
  </div>
</template>

<script setup>
const pdfViewer = ref(null)
</script>
Copyright © 2026