2017-05-01 83 views
0

我是Angular 2的新手,已经完成了一段时间,因为我已经完成了Web开发,所以我很生疏。我能够快速获得我的小型角色2应用程序并运行。但是,我坚持要使用什么pdf查看器来显示通过Web浏览器(SPA)中的Web API检索的PDF(不在新的浏览器窗口中)。我成功地通过执行以下操作从Web API转换我的反应成团块,并显示在一个新的浏览器/标签窗口:Angular 2 - 使用PDF查看器显示从Web服务API获取的PDF

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(来自web api)(不是新选项卡)?我想拥有所有漂亮的PDF控件。我发现pdf.js_viewer,但是这是为angularJS(不角2/4/x)。我看到一个叫做ng2-pdf-viewer的程序,但它似乎不是全功能的。我觉得我错过了一些基本的东西。

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

我正在使用ng2-pdf-viewer,并且您确定基本组件只显示PDF,没有任何控件。但该项目有一个全功能查看器的样本,包含所有的控件。 – GreyBeardedGeek

回答

1

您可以在响应头设置内容类型为“application/PDF” 大多数新的浏览器有很好的控制组和完整的功能,以支持和PDF阅读器使用。 你只需要告诉浏览器:“嘿即时向您发送PDF格式”,浏览器将完成剩下的工作

在asp.net =>

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

上JS =>

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

铬&边缘控制器,用于PDF文件 enter image description here

enter image description here