vue/cli3.0中使用pdf.js的案例教程

pdf.js下载

浏览器中直接打开预览 pdf 文件

安装

解压下载的zip文件,将解压后的整个目录(pdf-dist)拷贝到项目的 public 目录下(放在 public 目录下的文件不会被 webpack 处理)

使用 pdf.js 自带的预览界面 viewer.html 预览,可以在 viewer.css 文件对 viewer.html 做一些样式调整。

在需要使用的地方直接一个 a 标签 href 链接即可,a 标签的 href 链接形式为:/pdf-dist/web/viewer.html?file=pdf文件地址

<a href="/pdf-dist/web/viewer.html?file=http://0.0.0.0:8000/file/demo.pdf">
  预览文件
</a>

在浏览器中打开文件后如果报错 file origin does not match viewer's ,只需要在 viewer.js 文件中找到 throw new Error('file origin does not match viewer\'s'); 这一行,并注释掉即可

 

通过 vue 路由组件实现预览

在项目 views 文件夹下新建一个组件用于 pdf 文件预览,比如我这里的 views/pdf-preview/index.vue

index.vue 文件内容如下,主要是通过 iframe 实现

<template>
  <div class="box">
    <a href="/">返回首页</a>
    <iframe :src="$route.query.url" class="iframe"></iframe>
  </div>
</template>

<script>
export default {
  mounted() {
    this.$router.push({
      path: "download",
      query: {
        url:
          "/pdf-dist/web/viewer.html?file=/xf.pdf"
      }
    });
  }
};
</script>

<style scoped>
.iframe {
  width: 100%;
  height: 100vh;
  border: 0;
  overflow: hidden;
  box-sizing: border-box;
}
</style>

 

 

 

posted @   JackieDYH  阅读(11)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示