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

相关推荐
李白的天不白5 分钟前
如何项目发布到github上
android·vue.js
AI刀刀5 分钟前
手机AI怎么导出pdf
人工智能·ai·智能手机·pdf·deepseek·ds随心转
牧码岛7 分钟前
Web前端之JavaScrip中的Array、Object、Map和Set详解
前端·javascript·web·web前端
FlyWIHTSKY11 分钟前
Vue 3 + 原生 CSS Float
前端·css·vue.js
533_19 分钟前
[pinia] vue3中监听pinia值的变化
前端·javascript·vue.js
AlenLi20 分钟前
JavaScript - 相对实用的Axios二次封装
前端·javascript
一叶飘零晋21 分钟前
【(二)Electron 使用之常用技巧】
javascript·electron·ecmascript
暗不需求31 分钟前
用 Vue 3 搓一个 AI 冰球形象生成器:从源码到 Coze 工作流全解析
前端·vue.js·ai编程
eastyuxiao36 分钟前
OpenClaw 免费 PDF 技能组合 + 一键指令(零收费、无订阅)
pdf
小小199239 分钟前
vue 单页面请求
开发语言·前端·javascript