0

String 変数内に配置された PDF コンテンツを含む新しいウィンドウを開きたいと思います。イベントが接続されたボタンが既にあります。このイベントでは、新しいウィンドウを呼び出したいと思います。

メソッドは次のようになります。

private void show_archivobjekt(String data) {
String pdf = anfrage.get_archivobjectdata(data);
System.out.println(pdf);  // This shows my PDF content in console and works!

    // How to convert this String into a StreamSource

    StreamResource streamResource = new StreamResource(pdfss, "test.pdf",  myView);
    streamResource.setCacheTime(5000);
    streamResource.setMIMEType("application/pdf");
    myView.getMainWindow().open(streamResource, "_blank");
}

myViewはアプリケーションです。String pdfを StreamSource ( pdfss )に変換するにはどうすればよいですか? 最初にファイルとして保存する必要がありますか、それともメモリ内で直接 StreamSource に変換することは可能ですか?

コンソール出力には、%PDF-1.3 などで始まる通常の PDF コンテンツが表示されます。

どんな助けでも大歓迎です。前もって感謝します!

ライナー

4

1 に答える 1

0

この質問への回答は、こちらの公式サポート フォーラムから入手できます: https://vaadin.com/forum#!/thread/148544

文字列のバイト表現を使用して ByteArrayInputStream をソースとして作成することにより、次のように StreamResource を作成するだけです。

StreamResource streamResource = new StreamResource(
    new StreamResource.StreamSource() {
        public InputStream getStream() {
            return new ByteArrayInputStream(pdf.getBytes());
        }
    }, "test.pdf");
于 2013-09-24T14:18:01.007 に答える