当前位置:   article > 正文

vue-pdf+element实现全屏窗口pdf分页预览,pdf打印实现和解决打印乱码_element预览pdf

element预览pdf

一.源码

vue-pdf打印实现和乱码解决icon-default.png?t=M85Bhttps://download.csdn.net/download/lucky_fang/85498529

二.全屏窗口打印预览效果

分页预览pdf

 窗口采用element窗口模板实现,样式可根据自己喜欢的效果进行修改

Element官方文档

终于可以打印测试了,乱码~(此处省略一千个崩溃~~):

 

三.实现步骤和打印乱码解决

1.安装vue-pdf,安装命令:

npm install --save vue-pdf

2.把前端源码目录node_modules下的子目录vue-pdf下的src下的pdfjsWrapper.js替换为源码下载的pdfjsWrapper.js 

node_modules\vue-pdf\src\pdfjsWrapper.js

 

 源码下载的:

前端若重新install,则要对应重新替换!!!

前端若重新install,则要对应重新替换!!!

前端若重新install,则要对应重新替换!!!

3.把cmaps目录拷贝到项目某路径下,如public下:

cmaps所在目录:node_modules\pdfjs-dist\cmaps

 引用cmaps:

 

4.pdf.vue引用cmaps,解决中文乱码问题,文件里面有关android的方法可以删除掉,本项目pdf.vue是作为vue的组件使用的,推荐这种设计方法

  1. <template>
  2. <div>
  3. <pdf-preview v-if="srcPrint != ''" ref="pdfSearch" :src="srcPrint" @printAlert="printAlert"></pdf-preview>
  4. </div>
  5. </template>
  6. <script>
  7. import PdfPreview from './pdf';
  8. export default {
  9. components: {
  10. PdfPreview,
  11. },
  12. data() {
  13. return {
  14. srcPrint: 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
  15. }
  16. },
  17. mounted() {
  18. //打开pdf预览窗口
  19. this.$refs.pdfSearch.handleOpen();
  20. },
  21. methods: {
  22. printAlert(){//pdf预览窗口点击关闭
  23. this.$message.success("打印窗口关闭~");
  24. }
  25. }
  26. }
  27. </script>
  28. <style>
  29. </style>

5.在使用的页面上定义:

A.引入,根据项目具体情况修改路径(我这里是同级目录)

import PdfPreview from './pdf';

B.组件声明(我这里采用局部组件使用,需要全局组件可以在main.js全局声明组件后就不用每次使用都声明了):

  1. components: {
  2.       PdfPreview,
  3. },

C.页面上使用组件:

<pdf-preview v-if="srcPrint != ''" ref="pdfSearch" :src="srcPrint" @printAlert="printAlert"></pdf-preview>
@printAlert="printAlert"组件声明自定义方法,可以在组件通过此方法调用父级页面方法:

组件调用此方法

this.$emit("printAlert");

四.以上步骤处理完后,再打印测试~

 乱码解决,至此大功告成~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/113052
推荐阅读
相关标签
  

闽ICP备14008679号