Props
All props are optional except source. The three view-state props – page, rotation, and zoom – are two-way bindable and documented under v-model bindings below. The types named in the table are exported from vue-pdfz.
| Prop | Type | Default | Description |
|---|---|---|---|
source | PdfSourceProp | – | The document to display: a URL, binary data, or a PdfSource config object. |
annotationLayer | boolean | true | Render the annotation layer (links, form widgets, popups). |
enableDownload | boolean | true | Show the download action (toolbar button, method, and shortcut). |
enableKeyboard | boolean | true | Enable keyboard shortcuts. |
enablePrint | boolean | true | Show the print action (toolbar button, method, and shortcut). |
enableSearch | boolean | true | Enable full-text search. |
forms | boolean | 'readonly' | false | AcroForm fields: true interactive, 'readonly' rendered but non-editable, false off. |
imageResourcesPath | string | – | PDF.js path for annotation icon images. |
layout | LayoutMode | 'continuous' | Page layout mode. |
lazy | boolean | true | Defer per-page rendering until the page nears the viewport. |
linkRel | string | 'noopener noreferrer' | rel attribute applied to external links. |
linkTarget | LinkTarget | '_blank' | target attribute applied to external links. |
locale | string | – | Locale code for the viewer UI. Falls back to the plugin locale, then 'en'. |
maxZoom | number | 10 | Maximum zoom scale. |
messages | Partial<LocaleMessages> | – | Per-instance message overrides, merged over the active locale bundle. |
minZoom | number | 0.1 | Minimum zoom scale. |
searchControls | SearchControls | – | Which search-bar toggles to show. Both hidden by default. |
shortcuts | KeyboardShortcuts | – | Per-action keyboard-shortcut overrides. |
showThumbnails | boolean | 'auto' | 'auto' | Thumbnails sidebar: 'auto' opens it on wide containers only, true opens it everywhere, false disables it (no toggle). Always toggleable at runtime unless false. |
showToolbar | boolean | true | Show the toolbar. |
textLayer | boolean | true | Render the selectable text layer. Required for search and text selection. |
theme | ThemeMode | – | Color-scheme mode. |
themeTokens | ThemeTokens | – | Design-token overrides, merged over the theme and any plugin-wide tokens. |
thumbnailWidth | number | 120 | Rendered width of each thumbnail, in pixels. |
virtualization | boolean | false | Window page rendering for very large documents. |
zoomStep | number | 0.25 | Zoom increment for zoom-in / zoom-out. |
v-model bindings
Three props are two-way bindable and also emit an update:* event:
v-model:page– the current page number (number, default1).v-model:rotation–0 | 90 | 180 | 270(default0).v-model:zoom– a number or one of'auto'/'page-fit'/'page-width'(default'auto').