使用PDF.js查看器显示受保护资源提供的pdf

时间:2018-08-03 09:50:27

标签: javascript pdfjs

我正在研究如何使用pdfjs查看器来提供受保护资源背后的PDF。

据我了解,如果资源允许匿名访问,这将起作用: https://app.com/pdf.js/web/viewer.html?file=https://app.com/pdf/{id}

资源https://app.com/pdf/{id}返回内容类型为application/pdf的响应。

但是,该资源要求OAuth2令牌出现在授权标头中。 那么是否可以修改查看器创建的标头,以包括授权标头并传递用户的令牌?

1 个答案:

答案 0 :(得分:4)

PDF.js可以读取Base64格式(example)的文件。因此,您可以使用Ajax / HTTP客户端下载带有授权标头的二进制数据,转换为Base64字符串,然后嵌入到PDF

编辑:您可以将HTTP标头设置为PDF getDocument功能。因此,您可以将访问令牌存储在Web存储中,然后在pdf查看器页面中获取

var loadingTask = pdfjsLib.getDocument({
  url,
  withCredentials,
  httpHeaders: {
    authentication: "abcxyz",
  }
});