javascript - 我如何修复这个与 pdfjs-dist 和 angular 相关的错误信息?
我在 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!!");
});
答案#1
您的构建配置不支持选项链式调用。
你应该尝试使用旧版本文件夹,比如这样:从旧版本构建文件夹导入
答案#2
我不确定你是否仍然有这个问题,但降级到较低版本对我有效,或者因为你正在使用 Angular,可以使用另一个库,比如 ngx-extended-pdf-viewer,它提供了一个强大的 API 和用于处理 PDF 文件的工具。