Ouvrir un fichier pdf à partir de tableau d'octets dans angulaire 5

J'étais en suivant les liens ci-dessous pour afficher la page pdf dans un nouvel onglet dans mon angulaire 5 application. Mais impossible d'atteindre le résultat.

Je suis en consommant le tableau d'octets à partir du printemps contrôleur api.

PDF Blob n'est pas l'affichage du contenu, Angulaire 2

PDF Blob - fenêtre Pop-up pas à afficher du contenu

Angular2 l'Affichage des PDF

J'ai essayé les options ci-dessous, mais aucun d'eux n'est de travail.

Essai 1

Consommé de la réponse en json

composant.ts

clickEvent(){
this.service.getPDF().subscribe((response)=>{

  let file = new Blob([response.byteString], { type: 'application/pdf' });            
  var fileURL = URL.createObjectURL(file);
  window.open(fileURL);
})

}

service.ts

getPDF(){
const url = `${this.serviceUrl}/pdf`;

const httpOptions = {
  headers: new HttpHeaders(
    {
      'Accept': 'application/json',
      'responseType':'blob'
    }
  )
};

return this.http.get<any>(url, httpOptions);

}

Essai 2

Consommé de la réponse en json

composant.ts

clickEvent(){
this.service.getPDF().subscribe((response)=>{

  let file = new Blob([response.byteArray], { type: 'application/pdf' });            
  var fileURL = URL.createObjectURL(file);
  window.open(fileURL);
})

}

service.ts

getPDF(){
const url = `${this.serviceUrl}/pdf`;

const httpOptions = {
  headers: new HttpHeaders(
    {
      'Accept': 'application/json',
      'responseType':'arraybuffer'
    }
  )
};

return this.http.get<any>(url, httpOptions);

}

Essai 3

Consommé de la réponse en octets

composant.ts

clickEvent(){
this.service.getPDF().subscribe((response)=>{

  let file = new Blob([response], { type: 'application/pdf' });            
  var fileURL = URL.createObjectURL(file);
  window.open(fileURL);
})

}

service.ts

getPDF(){
const url = `${this.serviceUrl}/pdf`;

const httpOptions = {
  headers: new HttpHeaders(
    {
      'responseType':'blob'                 //both combination
      //'responseType'  : 'arraybuffer'
    }
  )
};

return this.http.get<any>(url, httpOptions);

}

Par l'ensemble de la combinaison, je ne suis que l'obtention de deux résultats.
Vide document pdf ou d'Échec de chargement de document PDF.

Ouvrir un fichier pdf à partir de tableau d'octets dans angulaire 5

Ouvrir un fichier pdf à partir de tableau d'octets dans angulaire 5

Pour la compréhension de l'affichage java spring code du contrôleur.

controller.java

@GetMapping(value = "/pdf")
public ResTest generatePDF(HttpServletResponse response) throws IOException {
    ResTest test = new ResTest();
    ByteArrayOutputStream baos = docTypeService.createPdf();
    test.setByteArray(baos.toByteArray());
    test.setByteString(new String(baos.toByteArray()));
    return test;
}
InformationsquelleAutor MPPNBD | 2018-05-09