使用 pdf.js 在外国 url 上加载 pdf

Load pdf on foreign url with pdf.js

我正在尝试将 pdf 从另一台服务器加载到 pdf.js 的查看器,但在我的 server.I 中遇到错误 “PDF.js v1.4.20(构建:b15f335) 消息:文件来源与查看者的来源不匹配

我已经检查了很多答案,其中很多人说通过代理传递 pdf url,例如:-

经过大量搜索后,我发现他们发布了一个新补丁,其中他们锁定了任何 CDR 请求,如果我错了请纠正我:-Here is the link

但在他们的用户手册中,他们指定可以 here is the link

我尝试了所有方法,但无法在我的服务器上启用 CDR,而且很多方法都不起作用。

请帮我解决这个问题。 我的基本想法是在我的 pdf reader(我从 pdf.js 制作的)上显示 pdf(托管在第 3 方服务器上)。

我通过在 viewer.js

中评论这一行解决了这个问题
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}

并像这样使用代理。 http://192.168.0.101/web/viewer.html?file=https://cors-anywhere.herokuapp.com/pathofpdf.pdf

将您的 domain/origin 添加到 HOSTED_VIEWER_ORIGINS 数组

我通过在 viewer.js

中添加这一行解决了这个问题
    var LOCAL_AUTO_DETECT_ORIGIN = window.location.origin;

  var HOSTED_VIEWER_ORIGINS = ['null', 'http://mozilla.github.io', 'https://mozilla.github.io'];

  HOSTED_VIEWER_ORIGINS.push(LOCAL_AUTO_DETECT_ORIGIN);

我遇到的问题是 link 在网站安全的情况下不在 https 中