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);

相关推荐
MediaTea几秒前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
unicrom_深圳市由你创科技5 分钟前
Vue 3 高效开发技巧总结
前端·javascript·vue.js
chilavert31815 分钟前
技术演进中的开发沉思-259 Ajax:浏览器历史管理
javascript·ajax·okhttp·状态模式
南知意-18 分钟前
从零搭建 Live2D 看板娘教程(自建API避墙版)
服务器·前端·vue.js·开源·博客·美化·看板娘
来杯三花豆奶25 分钟前
Vue 2 中 Store (Vuex) 从入门到精通
前端·javascript·vue.js
四瓣纸鹤26 分钟前
从vue2和vue3的区别聊起
vue.js·状态模式
Web打印37 分钟前
HttpPrinter是一款基于HTTP协议的跨平台Web打印解决方案,
javascript·php
少油少盐不要辣44 分钟前
前端如何处理AI模型返回的流数据
前端·javascript·人工智能
跟着珅聪学java1 小时前
以下是使用JavaScript动态拼接数组内容到HTML的多种方法及示例:
开发语言·前端·javascript
巴拉巴拉~~1 小时前
KMP 算法通用图表组件:KmpChartWidget 多维度可视化 + PMT 表渲染 + 性能对比
前端·javascript·microsoft