vue-pdf 单列显示多个pdf页面

javascript 复制代码
<template>
  <div>
    <pdf
      v-for="i in numPages"
      :key="i"
      :src="src"
      :page="i"
      style="display: inline-block; width: 100%"
    ></pdf>
<!-- 宽度设置100% 一行只展示一页 -->
  </div>
</template>
<script>
import pdf from "vue-pdf";
var loadingTask = pdf.createLoadingTask(
  "/static/clause.pdf"
);
export default {
  data() {
    return { src: loadingTask, numPages: undefined };
  },
  components: {
    pdf,
  },
  mounted() {
    this.src.promise.then((pdf) => {
      this.numPages = pdf.numPages;
    });
  },
};
</script><template>
  <div>
    <pdf
      v-for="i in numPages"
      :key="i"
      :src="src"
      :page="i"
      style="display: inline-block; width: 100%"
    ></pdf>
  </div>
</template>
<script>
import pdf from "vue-pdf";
var loadingTask = pdf.createLoadingTask(
  "/static/clause.pdf"
);
export default {
  data() {
    return { src: loadingTask, numPages: undefined };
  },
  components: {
    pdf,
  },
  mounted() {
    this.src.promise.then((pdf) => {
      this.numPages = pdf.numPages;
    });
  },
};
</script>

注意:文件要放在public文件夹下,不然会报错:如果文件放在远程服务器上,则直接写远程地址

Warning: Ignoring invalid character "33" in hex string'

原因:读取 PDF 文件时,路径不合法,导致读取不到文件; 在 vue-cli3 脚手架搭建的项目中,读取本地的 PDF 文件需要放到 public 文件夹中,在引用时,不能使用相对路径,且'/'即表示 public 文件夹 (需略去 public);

相关推荐
Thetimezipsby32 分钟前
基于Taro4打造的一款最新版微信小程序、H5的多端开发简单模板
前端·javascript·微信小程序·typescript·html5·taro
BUG创建者1 小时前
uni 拍照上传拍视频上传以及相册
前端·javascript·音视频
就是帅我不改1 小时前
敏感词过滤黑科技!SpringBoot+Vue3+TS强强联手,打造无懈可击的内容安全防线
前端·vue.js·后端
菲兹园长1 小时前
CSS(展示效果)
前端·javascript·css
AI视觉网奇2 小时前
麒麟系统 doc转pdf
linux·运维·pdf
香香甜甜的辣椒炒肉2 小时前
vue(7)-单页应用程序&路由
前端·javascript·vue.js
dreams_dream3 小时前
vue中axios与fetch比较
前端·javascript·vue.js
梦鱼3 小时前
Vue 项目图标一把梭:Iconify 自用小记(含 TS/JS 双版本组件)
前端·javascript·vue.js
给月亮点灯|3 小时前
Vue基础知识-脚手架开发-初始化目录解析
前端·javascript·vue.js
周小码3 小时前
CesiumJS详解:打造专业级Web 3D地球仪与地图的JavaScript库
前端·javascript·3d