PDF を表示するには、ブラウザに PDF プラグインをインストールする必要があるため、PDF の表示は実際には ember とは関係ありません (ブラウザによってはデフォルトでインストールされます)。
とはいえ、私が想像できる解決策は、PDF を参照するリンクに属性をiframe
設定するtagName を使用してカスタム ember ビューを作成することです。src
例:
App.PDFView = Ember.View.extend({
tagName: 'iframe',
attributeBindings: ['src', 'width', 'height', 'frameborder'],
src: 'pdffile.pdf',
width: 800,
height: 600,
frameborder: 0
});
width
, height
andも使用しましたframeborder
が、利便性のためだけなので、iframe
の属性の一部を ember 内から簡単に制御できます。ここに動作デモがあります。
より精巧なものを使用して、http://pdfobject.com/ のような js ライブラリを使用することもできます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
をテンプレートで通常の ember ビューのように使用します。
{{view App.PDFView}}
またはsrc
、width
&height
をテンプレート内から直接設定することもできます
{{view App.PDFView src="pdffile.pdf" width="600" height="800"}}
それが役に立てば幸い。