如何在angularjs中阅读pdf流

2022-09-01 11:35:19

我从服务器获得了以下PDF流:PDF STREAM

如何在AngularJS中读取此流?我尝试使用以下代码在新窗口中将其作为PDF文件打开:

.success(function(data) {
   window.open("data:application/pdf," + escape(data));
 });

但是我无法在打开的窗口中看到内容。


答案 1

我通过更改控制器代码实现了这一点

$http.get('/retrievePDFFiles', {responseType: 'arraybuffer'})
       .success(function (data) {
           var file = new Blob([data], {type: 'application/pdf'});
           var fileURL = URL.createObjectURL(file);
           window.open(fileURL);
    });

答案 2

请看以下代码:

在控制器端 -

$http.get(baseUrl + apiUrl, { responseType: 'arraybuffer' })
          .success(function (response) {                  
             var file = new Blob([response], { type: 'application/pdf' });
             var fileURL = URL.createObjectURL(file);
             $scope.pdfContent = $sce.trustAsResourceUrl(fileURL);
           })
           .error(function () {                        
           });

在 HTML 方面:

<div ng-controller="PDFController" class="modal fade" id="pdfModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
    <div class="modal-content" onloadstart="">
        <object data="{{pdfContent}}"  type="application/pdf" style="width:100%; height:1000px" />
    </div>
</div>

您也可以使用Angular ng-pdfviewer,并使用它的js文件查看您的pdf。


推荐