Несмотря на то, что я еще не использовал вышеупомянутую библиотеку, я довольно успешно работал с объектами BLOB и ng2-pdfjs-viewer (https://www.npmjs.com/package/ng2-pdfjs-viewer) при создании интенсивного портала в формате PDF.
Вариант использования для BLOB-объектовобъекты как
<!-- your.component.html -->
<button (click)="openPdf();">Open Pdf</button>
<!-- your.component.ts-->
export class SampelComponent implements OnInit {
@ViewChild('pdfViewer') pdfViewer
...
private downloadFile(url: string): any {
return this.http.get(url, { responseType: ResponseContentType.Blob }).map(
(res) => {
return new Blob([res.blob()], { type: "application/pdf" });
});
}
public openPdf() {
let url = "url to fetch pdf as byte array"; (Blob works here)
this.downloadFile(url).subscribe(
(res) => {
this.pdfViewer.pdfSrc = res; // pdfSrc can be Blob or Uint8Array
this.pdfViewer.refresh(); // Ask pdf viewer to load/reresh pdf
}
);
}