在我的一种观点中,我想显示一个PDF,可以通过URL访问。无需在浏览器中打开额外的标签,也无需下载PDF(可在浏览器外部查看PDF)即可完成此操作。它应该是可见的嵌入在Ember应用程序中。
我想到的是:
这可能吗?在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
});
我也仅出于方便起见使用了width
,height
和frameborder
,因此您可以在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}}
或者,您可以直接在模板中设置src
,width
和height
,例如{{view App.PDFView src="pdffile.pdf" width="600" height="800"}}
希望能帮助到你。关于pdf - Ember View 以显示PDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18418424/