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']
。
我正在构建一个 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']
。