1

我正在尝试在托管在服务器 A 上的 Angular 应用程序中使用 PDFNet / PDFTron WebViewer,我想从服务器 B 加载 PDF 文件。要加载该 pdf 文件需要身份验证,服务器 B 在我的服务器上设置了一个 cookie浏览器。所以我在 GET 请求中传递了withCredentials: true 。

在使用 WebViewer 时,我将该 URL 传递给WebViewer 的initialDoc参数,并且 API 返回 401 状态代码。

var viewerElement = $('#viewer');
var myWebViewer = new PDFTron.WebViewer({
            type: "html5",
            path: "path/to/lib",
            streaming : "true",
            initialDoc: "**Server B URL to load pdf file**",
            documentType : "pdf",
            config: "path/to/config"
        }, viewerElement);

我无法理解在哪里可以传递请求配置,以便通过身份验证以获取该文档。有什么方法可以让我使用凭据进行 HTTP 调用以获取 PDF 文件。提前致谢。

4

1 回答 1

0

您需要下载最新版本的WebViewer 2.2.2,其中包括设置 withCredentials 的功能。

下载后,您需要将以下代码添加到 config.js

var oldLoadDocument = ReaderControl.prototype.loadDocument;
var loadDocument = function(doc, options) {
  options.withCredentials = true;
  return oldLoadDocument.call(this, doc, options);
}
ReaderControl.prototype.loadDocument = loadDocument;
于 2017-02-09T19:56:35.067 回答