我正在尝试显示由RESTful服务的GET调用创建的pdf . 在HTML中我使用对象标记如下
width="100%" height="100%" alt="pdf" class="view-pdf_document">
Estimate Preview Cannot be displayed.
在js文件中
miEstimateService.getMitchellEstimate(response.estimate.id)
.then(function (response) {
var blob = new Blob([(response.data)], { type: 'application/pdf' });
if (window.navigator.msSaveOrOpenBlob) {
$window.navigator.msSaveOrOpenBlob(blob, "estimatePreview.pdf");
} else {
var fileUrl = URL.createObjectURL(blob);
$scope.miEstimatePdfData = $sce.trustAsResourceUrl(fileUrl);
}
});
这在chrome中完美无缺 . 由于IE11 / Edge不允许显示blob URL,我使用.msSaveOrOpenBlob,但这不会在浏览器窗口中打开pdf . 它承诺用户保存或打开pdf并在Acrobat Reader(IE11)或新的浏览器窗口(Edge)中打开它 . 在Safari中,PDF在浏览器中正确呈现,但不是自由流动或可滚动的,因此大多数第二页都不可见 .
我研究了很多,看了很多SO问题 . 是否有适用于所有浏览器的解决方案 - chrome,IE11 / Edge和Safari?
谢谢,SDD