Angular 2 - 使用PDF Viewer显示从Web服务API获取的PDF

时间:2017-05-01 18:41:27

标签: angular pdf

我是Angular 2的新手,我已经有一段时间了,因为我已经完成了网络开发,所以我生锈了。我能够让我的小角度2应用程序运行得相当快。但是,我坚持使用pdf查看器来显示通过我的Web浏览器(SPA)中的Web API检索的PDF(而不是在新的浏览器窗口中)。我成功地将我的响应从web api转换为blob并通过执行以下操作在新的浏览器/选项卡窗口中显示它:

my.ts文件:

 onGetFullPdf() {
    this.pasSignerService.getPasFormFullPdf()
      .subscribe(
        (pdfBlob: Blob) => {
          var fileURL = URL.createObjectURL(pdfBlob);
          // this works but opens it in a new window
          window.open(fileURL);
}

有人可以告诉我如何在浏览器标签页(不是新标签页)上显示PDF(来自网络API)吗?我想拥有所有漂亮的PDF控件。我找到了pdf.js_viewer,但这是针对angularJS(不是角度为2/4 / x)。我看到一个名为ng2-pdf-viewer但它看起来并不全面。我觉得我错过了一些基本的东西。

  • 我是否需要安装pdf查看器,还是有其他方法可以实现我的目标?
  • Don浏览器内置了PDF查看器?
  • 我可以利用它们吗?
  • 为什么我需要下载一个?

1 个答案:

答案 0 :(得分:1)

您可以将响应标题上的内容类型设置为“application / pdf” 大多数新浏览器都具有良好的控制器设置和完整功能,可以支持和用作PDF阅读器。 你只需要告诉浏览器:“嘿我发送给你一个pdf!”,浏览器将负责其余部分。

on asp.net =>

context.response.ContentType="application/pdf";

on js =>

res.setHeader('content-type', 'application/pdf');

chrome&用于pdf文件的边缘控制器 enter image description here

enter image description here