Cómo leer pdf stream en angularjs

Obtuve el siguiente flujo de PDF desde un servidor: PDF STREAM

¿Cómo se puede leer esta secuencia en AngularJS? Traté de abrir esto como un archivo PDF en una nueva ventana usando el siguiente código:

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

Pero no puedo ver el contenido en la ventana abierta.

Logré esto cambiando mi código de controlador

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

Por favor, eche un vistazo al siguiente código:

En el lado del controlador –

 $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 () { }); 

En el lado HTML:

  

También puede ir con Angular ng-pdfviewer y ver su pdf usando sus archivos js.

Eche un vistazo a PDF.JS. Esta es una biblioteca de JavaScript del lado del cliente que puede obtener una secuencia de PDF y presentarla en el lado del cliente. Angular no puede leer un pdf, por lo que este no es un problema angular.

Java: Método de obtención

 BLOB pdfData = getBlob_Data; response.setContentType(pdfData.getContentType()); response.setHeader(ApplicationLiterals.HEADER_KEY_CONTENT, "attachment; filename=FileName.pdf"); response.getOutputStream().write(pdfData.getBinaryData()); response.getOutputStream().flush(); 

El problema con el uso de config.responseType es que el servicio $ http aún ejecuta el responseTransformer predeterminado e intenta convertir la respuesta a JSON. Además, está enviando los encabezados de aceptación predeterminados. Aquí hay una alternativa (no probada):

 $http.get('/retrievePDFFiles', { headers: { Accept: "application/pdf"}, transformResponse: function(data) { return new Blob([data], {type: 'application/pdf'}); }}).success(function (data) { var fileURL = URL.createObjectURL(data); window.open(fileURL); });