vue预览本地pdf文件.

5 篇文章 0 订阅
5 篇文章 0 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、需求

点击对应社区,出现对应社区的pdf政策文件.

在这里插入图片描述
在这里插入图片描述

二、实现步骤

1.整理对应json文件存放在本地

在这里插入图片描述

2.编写界面和逻辑代码,代码对应界面的级联选择

在这里插入图片描述

3.把文件放入pbulic路径下的file文件下(这样的文件不会被打包编译,可以发到线上直接访问到,显示出来.放在src下被编译后就不能显示pdf了)

在这里插入图片描述

2.封装对应预览pdf的组件,由于项目特殊需要在浙政钉上运行,所以使用了vue-pdf和pdfh5插件.如果只是在浏览器上运行可直接用iframe

代码如下(示例):

在这里插入图片描述

三、总结

整理json文件要整理好,路径要配对,。pdf的文件需要放在pubilc下,避免被build打包丑化,从而无法访问。pdf文件需要上传到服务器。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在Vue预览本地PDF文件,你可以使用pdf.js库。 首先,通过npm安装pdf.js: ``` npm install pdfjs-dist ``` 然后在你的Vue组件中引入pdf.js: ```javascript import pdfjsLib from 'pdfjs-dist'; ``` 接下来,你需要定义一个data属性来存储PDF文件的URL和PDF文档对象: ```javascript data() { return { pdfUrl: 'path/to/your/local/pdf/file.pdf', pdfDoc: null } } ``` 在组件的mounted钩子函数中,使用pdf.js加载PDF文档: ```javascript mounted() { pdfjsLib.getDocument(this.pdfUrl).then((pdfDoc_) => { this.pdfDoc = pdfDoc_; }); } ``` 现在你可以在模板中使用`<canvas>`元素来呈现PDF文档的页面。你可以使用`pdfDoc.getPage()`方法获取特定页面的呈现。 下面是一个简单的Vue组件,展示了如何使用pdf.js预览本地PDF文件: ```html <template> <div> <canvas ref="pdfCanvas"></canvas> </div> </template> <script> import pdfjsLib from 'pdfjs-dist'; export default { data() { return { pdfUrl: 'path/to/your/local/pdf/file.pdf', pdfDoc: null }; }, mounted() { pdfjsLib.getDocument(this.pdfUrl).then((pdfDoc_) => { this.pdfDoc = pdfDoc_; this.renderPage(1); }); }, methods: { renderPage(pageNum) { this.pdfDoc.getPage(pageNum).then((page) => { const canvas = this.$refs.pdfCanvas; const context = canvas.getContext('2d'); const viewport = page.getViewport({ scale: 1 }); canvas.height = viewport.height; canvas.width = viewport.width; page.render({ canvasContext: context, viewport: viewport }); }); } } } </script> ``` 在这个组件中,我们在mounted钩子函数中加载PDF文档,并在第一页上呈现PDF文档。`renderPage()`方法获取特定页面并在`<canvas>`元素上呈现。你可以通过更改`renderPage()`方法中的pageNum参数来呈现不同页面的PDF文档。 最后,记得在你的Vue组件中引入CSS文件,该文件pdf.js提供,用于正确呈现PDF文档: ```html <style> @import '~pdfjs-dist/web/pdf_viewer.css'; </style> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值