在浏览器中呈现ie中的PDF
今天我看了很多不同的SO帖子。
我有一个应用程序需要在浏览器中显示PDF文档。 此应用程序还需要在IE(11+)中运行。
这是事情:一个带有src
的iframe
可以正常工作。 就像是:
<iframe src="www.myurl.com/thedocument"></iframe>
但是, www.myurl.com/thedocument
现在受oAuth保护。 这意味着我需要使用适当的授权标头凭证请求www.myurl.com/thedocument
。
这意味着(我认为),我必须通过ajax请求www.myurl.com/thedocument
。 ajax请求返回base64或包含文档的byte []。
IE不支持数据URI来呈现PDF,所以我不能将来自我的ajax请求的响应放到iframe中。
所以..现在我被卡住了。
有任何想法吗?
谢谢
一种选择是使用PDF.js,这是一个用于将PDF呈现到支持IE10 +的HTML5画布中的JavaScript库。 该库支持从TypedArray(例如Uint8Array)加载PDF数据,这可以从ajax请求的结果中产生。
我在这里准备了一个简短的例子,显示存储在base64编码二进制文件中的单页PDF。 为了避免执行base64转换,还可以直接从XMLHttpRequest响应中检索TypedArray:
function reqListener () {
var byteArray = new Uint8Array(this.response);
PDFJS.getDocument(byteArray).then(function(page) {
// ....
});
}
var req = new XMLHttpRequest();
req.addEventListener("load", reqListener);
req.responseType = "arraybuffer";
req.open("GET", "http://www.example.com/example.pdf");
req.send();
为了支持您在本地pdf查看器(打印等)中期望的功能,该库包含一个示例查看器,您可以根据自己的目的进行调整。
链接地址: http://www.djcxy.com/p/30487.html