我正在研究如何使用pdfjs查看器来提供受保护资源背后的PDF。
据我了解,如果资源允许匿名访问,这将起作用:
https://app.com/pdf.js/web/viewer.html?file=https://app.com/pdf/{id}
资源https://app.com/pdf/{id}
返回内容类型为application/pdf
的响应。
但是,该资源要求OAuth2令牌出现在授权标头中。 那么是否可以修改查看器创建的标头,以包括授权标头并传递用户的令牌?
答案 0 :(得分:4)
PDF.js可以读取Base64格式(example)的文件。因此,您可以使用Ajax / HTTP客户端下载带有授权标头的二进制数据,转换为Base64字符串,然后嵌入到PDF
编辑:您可以将HTTP标头设置为PDF getDocument功能。因此,您可以将访问令牌存储在Web存储中,然后在pdf查看器页面中获取
var loadingTask = pdfjsLib.getDocument({
url,
withCredentials,
httpHeaders: {
authentication: "abcxyz",
}
});