2011-12-07 15 views
2

私のアプリケーションでGWT2.4バージョンを使用しています。このアプリケーションでは、GWTコントロール(テキストボックス、textaeraなど)を使用してフォームを作成しました。GWT:どのようにPDFを保存/開くウィンドウを生成するには?

私はまた、フォームのプレビューを作成しました。そのプレビューでは、私はpdf生成のボタンがあります。 今、私はブラウザ(Mozilla/chrome)と同じpdfリンクに対処するための動作を作りたいと思っています。 たとえば、Mozillaのpdfリンクをクリックすると、ポップアップウィンドウに保存または開くのいずれかが要求されます。

デバッグ中に私はpdfを作成するために使用できるjarという名前のiTextを見つけました。これもブラウザの動作を実装したいと思います。 私を助けてください。 ありがとうございます。

答えて

2

ファイルの内容をバイト配列に読み込みます。

次に、たとえばサーブレットまたはサービスをリクエストします。この方法:サービスは適切なコンテンツタイプでレスポンスを返すべき

Window.Location.replace("rest/downloadPdf"); 

@Path("downloadPdf") 
@GET 
@Produces({"application/pdf"}) 
@Consumes(MediaType.TEXT_PLAIN) 
public Response downloadPdf() throws Exception {  
    byte[] bytes = getYourPDFContents();  
    return Response 
      .ok(bytes, MediaType.APPLICATION_OCTET_STREAM) 
      .header("Content-Disposition", "attachment; filename=\"yourFile.pdf\"") 
      .build(); 
} 

は、ブラウザはその後、名前を付けて保存]ダイアログが表示されます。

これはサービスの例です。上に書いたような方法でJerseyライブラリをプロジェクトに組み込む必要があります。

関連する問題