小编man*_*pig的帖子

如何将 pdfjs 与 vue3 和 vite 一起使用?

我正在尝试使用 Vite 将我的 vue2 应用程序转换为 vue3。因为没有 webpack,所以我的 pdfjs 实现失败了。我能够渲染 pdf,但 renderTextLayer 无法正常工作(见下图)。

在此输入图像描述

这是浏览器中的消息:

警告:设置假工人。

警告:fetchStandardFontData:无法获取文件“FoxitSymbol.pfb”,并出现“UnknownErrorException:StandardFontDataFactory 未初始化,请参阅参数useWorkerFetch。”。

警告:fetchStandardFontData:无法获取文件“FoxitDingbats.pfb”,并出现“UnknownErrorException:StandardFontDataFactory 未初始化,请参阅参数useWorkerFetch 。”。

我不太确定如何修复工人。我尝试将工作人员后缀添加到导入中,如此处所示,出现以下错误,并且它甚至不会渲染 pdf。

错误:设置假工作器失败:“无法将对象转换为原始值”。

不知道为什么 standardFontDataFactory 没有初始化。

  • vue:3.2.25
  • pdfjs-dist:2.16.105

<script>
  const pdfjs = await import('pdfjs-dist/build/pdf');
  const pdfjsWorker = await import('pdfjs-dist/build/pdf.worker.entry');
  import { renderTextLayer, getDocument } from "pdfjs-dist";
  pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker

  export default {
    async mounted() {
      let that=this
      let loadingTask = getDocument(this.$store.getters.blobURL)
      loadingTask.promise.then((pdf) => {
        for (const pageNumber of [...Array(pdf.numPages).keys()]){
          pdf.getPage(pageNumber+1).then(function(page) {
            var scale = 1.5;
            var …
Run Code Online (Sandbox Code Playgroud)

javascript pdf.js vue.js

6
推荐指数
1
解决办法
5614
查看次数

标签 统计

javascript ×1

pdf.js ×1

vue.js ×1