Skip to content

witPdfViewer PDF 查看器

witPdfViewer 是一个基于 vue-pdf-embed 封装的 PDF 文档查看器组件,提供了完整的 PDF 文档浏览功能,包括页面导航、缩放、打印和下载等操作。组件采用现代化的 UI 设计,支持加载状态显示和自定义样式,适用于各种需要在线查看 PDF 文档的场景。

用法实例

vue
<template>
  <div style="height: 600px; width: 100%;">
    <witPdfViewer
      :pdf-url="pdfUrl"
      :pdf-name="pdfName"
      :border="true"
    />
  </div>
</template>

<script lang="ts" setup>
import { ref } from 'vue'

const pdfUrl = ref('https://example.com/sample.pdf')
const pdfName = ref('示例文档.pdf')
</script>

API

组件

组件名描述
witPdfViewerPDF 查看器主组件

属性

属性名类型默认值描述
pdfUrlString''PDF 文档的 URL 地址
pdfNameString''PDF 文档的文件名(用于下载)
borderBooleanfalse是否显示边框

方法

方法名描述参数类型
pageZoomOut放大 PDF 文档-
pageZoomIn缩小 PDF 文档-
prevPage跳转到上一页或第一页isFirst: Boolean
nextPage跳转到下一页或最后一页isEnd: Boolean
handlePrint打印 PDF 文档-
handleDownLoad下载 PDF 文档-

事件

事件名描述参数
loadedPDF 文档加载完成时触发PDF 文档对象

功能特性

页面导航

  • 支持单页向前/向后翻页
  • 支持直接跳转到第一页或最后一页
  • 显示当前页码和总页数
  • 页码区域居中显示,方便用户查看和操作

缩放控制

  • 支持放大/缩小 PDF 文档
  • 实时显示当前缩放比例
  • 缩放范围限制在 60% - 200%
  • 缩放操作带有平滑过渡动画

文档操作

  • 支持打印 PDF 文档(通过 iframe 实现)
  • 支持下载 PDF 文档
  • 提供直观的操作图标按钮

UI 设计

  • 现代化的控制面板设计
  • 支持加载状态显示(使用 Element Plus loading 组件)
  • 支持自定义边框样式
  • 响应式布局,适应不同尺寸的容器

TIP

  1. 组件基于 vue-pdf-embed 实现 PDF 渲染,需要确保该依赖已正确安装。
  2. PDF 文档 URL 必须支持跨域访问,否则可能无法正常加载。
  3. 打印功能通过隐藏的 iframe 实现,确保浏览器允许弹出打印对话框。
  4. 组件内部使用了固定的宽高比(0.749)来计算 PDF 文档的初始宽度,适应不同屏幕尺寸。
  5. 缩放操作会影响整个 PDF 容器的大小,确保父容器有足够的空间来显示放大后的内容。

湘ICP备2024070110号