2016-06-13 11 views
4

VaadinビューでPDFを表示したい。私はBrowserFrameを作成して、私は、PDFのStreamResourceを渡す:VaadinビューでPDFを表示

StreamResource streamResource = new StreamResource(
       getPresenter().createPdfStreamSource(), report.getName() + ".pdf"); 


BrowserFrame pdf = new BrowserFrame(null, streamResource); 
pdf.setSizeFull(); 

content.addComponent(pdf); 

このコードは、次のソースとのiframeを作成します。私はこのURLにブラウザを指している場合、それはPDFを示し

http://localhost:8080/my-app/vaadinServlet/APP/connector/0/134/source/mypdf.pdf 

正しく。しかし私のアプリケーションでは、PDFビューは表示されません。私は間違って何をしていますか?

私はこれをGoogle Chromeでテストしています。

を編集しました:PDF.jsに基づいてプラグインPDFビューアをダウンロードしました。私のアプリケーションは正常に動作します。 Chrome PDFリーダープラグインは特別な設定が必要ですか?

+0

'getPresenter()。createPdfStreamSource()'のソースを表示できますか? – bekce

+0

書籍の[this](https://vaadin.com/docs/-part/framework/components/components-embedded.html)の一部を見ているかもしれません...あなたのUIにリソースを埋め込むことについてです - おそらく間違ったコンポーネントを使用しています。 – downdrown

答えて

2

iframeは、おそらくモバイルブラウザでPDFをレンダリングするのに最適なオプションではありません。より互換性のあるソリューションを得るには、pdf.jsに基づくWT PDF Viewerアドオンを確認してください。