在我的一个观点中,我想显示一个PDF,可以通过URL访问.这应该在不打开浏览器中的额外选项卡的情况下完成,而无需下载PDF(在浏览器外部查看).它应该可见于Ember应用程序中.
我的想法是:
这可能吗?在Ember应用程序中显示嵌入式PDF有哪些选项?
显示PDF与ember并不真正相关,因为要查看PDF,您需要在浏览器中安装PDF插件(默认情况下,默认情况下根据浏览器安装).
也就是说,我可以想象的一个可能的解决方案是使用tagName创建一个自定义的ember视图,iframe在该视图上将src属性设置为引用PDF的链接.
App.PDFView = Ember.View.extend({
tagName: 'iframe',
attributeBindings: ['src', 'width', 'height', 'frameborder'],
src: 'pdffile.pdf',
width: 800,
height: 600,
frameborder: 0
});
Run Code Online (Sandbox Code Playgroud)
我以前也用过width,height并且frameborder只是为了方便,所以你可以控制一些的iframe的从灰烬中容易属性.这是一个工作演示.
您还可以使用更详细的内容并使用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'));
}
});
Run Code Online (Sandbox Code Playgroud)
(没有测试后者,但你明白了)
然后App.PDFView像模板中的普通余烬视图一样使用它.
{{view App.PDFView}}
Run Code Online (Sandbox Code Playgroud)
或者您可以直接在模板中设置src,width和height
{{view App.PDFView src="pdffile.pdf" width="600" height="800"}}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.