Skip to content

PDF

PDF file embedding plugin for displaying a PDF viewer in the page.

Installation

sh
pnpm add vitepress-plugin-pdf
sh
npm install vitepress-plugin-pdf
sh
bun add vitepress-plugin-pdf
sh
deno add vitepress-plugin-pdf
sh
yarn add vitepress-plugin-pdf

Usage

.vitepress/config.ts
ts
import { defineConfig } from 'vitepress-tuck'
import pdf from 'vitepress-plugin-pdf'

export default defineConfig({
  plugins: [pdf()],
})

Learn more about vitepress-tuck

Native Mode

.vitepress/config.ts
ts
import { defineConfig } from 'vitepress'
import { pdfMarkdownPlugin } from 'vitepress-plugin-pdf'

export default defineConfig({
  markdown: {
    config: (md) => {
      md.use(pdfMarkdownPlugin)
    },
  },
})
.vitepress/theme/index.ts
ts
import type { Theme } from 'vitepress'
import { enhanceAppWithPDF } from 'vitepress-plugin-pdf/client'
import DefaultTheme from 'vitepress/theme'

export default {
  extends: DefaultTheme,
  enhanceApp(ctx) {
    enhanceAppWithPDF(ctx) 
  },
} satisfies Theme

Syntax

Embed a PDF using @[pdf]():

md
@[pdf](https://example.com/sample.pdf)
@[pdf](./sample.pdf)

Specifying a Page

md
@[pdf 3](https://example.com/sample.pdf)

Configuration Options

md
@[pdf no-toolbar width="100%" height="600px" zoom="100"](https://example.com/sample.pdf)

Attribute Reference

AttributeTypeDefaultDescription
widthstring'100%'Width
heightstring-Height
rationumber | string-Aspect ratio
zoomnumber50Zoom level
no-toolbarbooleanfalseHide toolbar

Example

md
@[pdf](https://plume.pengzhanbo.cn/files/sample-1.pdf)

Released under the MIT License