在我的一种观点中,我想显示一个PDF,可以通过URL访问。无需在浏览器中打开额外的标签,也无需下载PDF(可在浏览器外部查看PDF)即可完成此操作。它应该是可见的嵌入在Ember应用程序中。

我想到的是:

  • 使用URL来获取PDF,并使该 Ember 应用程序可以访问它。
  • 使用特殊的“PDF View ”来显示PDF。

  • 这可能吗?在Ember应用程序中显示嵌入的PDF有什么选择?

    最佳答案

    显示PDF与 Ember 不是真的相关,因为要查看PDF,您需要在浏览器中安装一个PDF插件(默认情况下,浏览器默认会安装该插件)。
    就是说,我能想象到的一种可能的解决方案是使用tagName iframe创建一个自定义 Ember View ,在该 View 上您将src属性设置为引用PDF的链接。
    例子:

    App.PDFView = Ember.View.extend({
      tagName: 'iframe',
      attributeBindings: ['src', 'width', 'height', 'frameborder'],
      src: 'pdffile.pdf',
      width: 800,
      height: 600,
      frameborder: 0
    });
    
    我也仅出于方便起见使用了widthheightframeborder,因此您可以在ember中轻松控制iframe的某些属性。在这里工作demo
    您还可以进行更详细的介绍,并使用http://pdfobject.com/之类的js库,然后在 View 的didInsertElement钩子(Hook)中对其进行初始化:
    App.PDFView = Ember.View.extend({
      src: 'pdffile.pdf',
      width: 800,
      height: 600,
      didInsertElement: function() {
        new PDFObject({
          url: this.get('src'),
          width: this.get('width'),
          height: this.get('height')}
        ).embed(this.get('elementId'));
      }
    });
    
    (尚未测试后者,但您明白了)
    然后,像在模板中使用普通的 Ember View 一样使用此App.PDFView
    {{view App.PDFView}}
    
    或者,您可以直接在模板中设置srcwidthheight,例如
    {{view App.PDFView src="pdffile.pdf" width="600" height="800"}}
    
    希望能帮助到你。

    关于pdf - Ember View 以显示PDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18418424/

    10-12 00:20
    查看更多