在我的一个观点中,我想显示一个可通过URL访问的PDF。这应该在不打开浏览器中的额外选项卡的情况下完成,而无需下载PDF(在浏览器外部查看)。它应该可见于Ember应用程序中。
我的想法是:
这可能吗?在Ember应用程序中显示嵌入式PDF有哪些选项?
答案 0 :(得分:5)
显示PDF与ember并不真正相关,因为要查看PDF,您需要在浏览器中安装PDF插件(默认情况下,默认情况下会根据浏览器安装)。
也就是说,我可以想象的一个可能的解决方案是使用tagName iframe
创建一个自定义的ember视图,在该视图上将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 lib,然后在视图的didInsertElement
钩子中初始化:
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'));
}
});
(尚未测试后者,但你明白了)
然后在模板中使用此App.PDFView
,就像普通的余烬视图一样。
{{view App.PDFView}}
或者您可以设置src
,width
&直接来自您的模板中的height
,例如
{{view App.PDFView src="pdffile.pdf" width="600" height="800"}}
希望它有所帮助。
答案 1 :(得分:0)