【问题标题】:How i can fix this error message with pdfjs-dist and angular?我如何使用 pdfjs-dist 和 angular 修复此错误消息?
【发布时间】:2022-01-26 08:55:47
【问题描述】:

收到此错误消息后,我在项目 angular 中安装 pdfjs-lib 以将 PDF 转换为画布:

Error: ./node_modules/pdfjs-dist/build/pdf.js 2094:26
Module parse failed: Unexpected token (2094:26)
File was processed with these loaders:
 * ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js
 * ./node_modules/@ngtools/webpack/src/ivy/index.js
You may need an additional loader to handle the result of these loaders.
|   async destroy() {
|     this.destroyed = true;
>     await this._transport?.destroy();
|     this._transport = null;
| 

目标是在呈现 HTML 之前将 PDF 页面转换为画布:

import * as pdfjslib from 'pdfjs-dist';
pdfjslib.getDocument(url).promise.then(async(pdf) => {
        pdf.getPage(1).then(async (page) => {
          let viewport = page.getViewport({ scale: 0.3 });
          let canvas =<HTMLCanvasElement> document.getElementById("card"+pageId);
          let context =<CanvasRenderingContext2D> canvas.getContext("2d");
          canvas.width = viewport.width;
          canvas.height = viewport.height;
          await page.render({
            canvasContext: context,
            viewport: viewport
          });
          resolve("ok");
        }).catch((err) => {
          reject("Erreur sur le pdf!!");
        });
      }).catch((err) => {
        reject("Erreur sur le pdf!!");
       });

【问题讨论】:

标签: javascript angular typescript frontend pdfjs


【解决方案1】:

您的构建配置不支持选项链。

您应该尝试使用 legacy 文件夹,例如:import from legacy build folder

【讨论】:

    猜你喜欢
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2020-12-22
    • 2019-11-12
    • 1970-01-01
    • 2022-12-12
    相关资源
    最近更新 更多