首页 文章

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

提问于
浏览
0

我是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查看器,还是有其他方法可以实现我的目标?

  • 浏览器内置的PDF查看器不是吗?

  • 我可以利用它们吗?

  • 为什么我需要下载一个?

1 回答

  • 1

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

    在asp.net =>

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

    在js =>

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

    用于pdf文件的chrome和edge控制器
    enter image description here

    enter image description here

相关问题