vue-pdf 预览乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-pdf 预览乱码问题相关的知识,希望对你有一定的参考价值。

参考技术A

我遇到过以下两种情况的乱码,都是h5(我的项目是嵌入到钉钉内部的,具体网页版没有测试过):
1、苹果手机正常显示;安卓手机只能显示部分汉字,字母数字都正常。
2、部分pdf文件苹果手机、安卓手机都不显示汉字,乱码。
(备注:这里提一下我的vue-pdf版本是4.1)

1、找到安装的依赖文件夹vue-pdf,把node_modules > vue-pdf > src > pdfjsWrapper.js替换为以下文件内容:

1、引入CMapReaderFactory.js(这个文件也在node_modules > vue-pdf > src下) 备注:不用关注,只是提一下

2、在执行 pdf.createLoadingTask 方法的时候加入 CMapReaderFactory ,(我的vue-pdf基本用法里有写) pdf的基本用法,点击这里

vue-pdf插件实现pdf上传预览下载预览打印下载

[vue-pdf] npm连接:https://www.npmjs.com/package/vue-pdf

安装vue-pdf

npm i vue-pdf

1.解决字体问题

  将node_modules/pdfjs-dist/cmaps文件夹复制到public文件夹下 (找不到的可以看下代码怎么写的,node_modules/vue-pdf/src/CMapReaderFactory.js)

2.上传预览

<template>
  <div>
    <el-upload
      class="upload-demo" drag action="#" 
      :auto-upload="false"
      :on-change=\'fileChange\'
      :limit=\'1\'
      multiple>
      <i class="el-icon-upload"></i>
      <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
      <div class="el-upload__tip" slot="tip">
        只能上传jpg/png文件,且不超过500kb
      </div>
    </el-upload>
    <pdf  :src="pdfURL"></pdf>
  </div>
</template>
<script>
import pdf from "vue-pdf";
export default {
  components: {
    pdf,
  },
  data() {
    return {
      pdfURL: "",
    };
  },
  methods: {
    fileChange(file){
    //拿到上传的文件
      let file=file.raw
    //转成二进制
      let blob=new Blob([file])
    //本地创建新的连接地址
      this.pdfURL=URL.createObjectURL(blob)
    //解决字体问题、第二次加载字体不显示问题
      this.pdfURL= pdf.createLoadingTask({
      url: this.pdfURL ,
      cMapUrl: \'/cmaps/\',
      cMapPacked: true})
    }
  },
};
</script>

2. 下载预览

3.打印

4.下载

 

有空更新

 

以上是关于vue-pdf 预览乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

vue-pdf使用

求助!!SCRIPT打印预览时没问题,但打印时汉字全是乱码!

关于confluence上传文件附件预览查看时出现乱码的问题解决办法

[pdf.js]预览pdf时,中文名称乱码的问题

confluence上传文件附件预览乱码问题(linux服务器安装字体操作)

LogicalDOC office预览中文乱码的问题