PDF.js 使用 Google Apps 脚本

PDF.js with Google Apps Script

我正在构建一个 Google 文档插件,我正在尝试从外部站点提取 PDF 以进行解析(对于页数、文本内容等简单的事情 不需要文档的视觉呈现)。但是,我在将 Javascript 库集成到我的项目中时遇到了很多麻烦。

我知道我将不得不做一些手动工作来删除一些依赖于浏览器的部分,比如 DOM 渲染或网络连接。然而,这里的错误是完全无关的。

我已经尝试将所有源文件手动复制到项目中(根据需要更改路径) using a "built" library I found online(就像我项目中的那个文件一样).但是,每当我保存我的项目时,我都会遇到一个奇怪的语法错误-

Missing name after . operator. (line 1120, file "pdf")

这是文件 "pdf" 中的第 1120 行:

if (typeof globalScope.Promise.prototype.catch !== 'function') {

这是一段相关代码:

if (typeof globalScope.Promise.resolve !== 'function') {
  globalScope.Promise.resolve = function (value) {
    return new globalScope.Promise(function (resolve) { resolve(value); });
  };
}
if (typeof globalScope.Promise.reject !== 'function') {
  globalScope.Promise.reject = function (reason) {
    return new globalScope.Promise(function (resolve, reject) {
      reject(reason);
    });
  };
}
if (typeof globalScope.Promise.prototype.catch !== 'function') {
  globalScope.Promise.prototype.catch = function (onReject) {
    return globalScope.Promise.prototype.then(undefined, onReject);
  };
}
return;

但是,我看不到任何语法错误。

所以,真正的问题:

因为 catch 是一个 JavaScript 保留字 Apps 脚本是严格的并且阻止将其用作参数。

您的代码有效,只是对严格模式不友好。

改用globalScope.Promise.prototype['catch']