0

特定のページにPDFを表示する機能を追加したいと考えています。私は自分のコードにファイルとしてpdfを持っています。そのため、Webサーバーから取得できません。

ページ番号もあります。adobe プラグインが #page=1 を受け入れることを見てきましたが、これを Web ベースのアプリケーションで使用する方法がわかりません。

Iframe に表示するチュートリアルもいくつか見つかりました。しかし、これらの使用:

      org.apache.wicket.markup.html.DynamicWebResource

そして、これはもう存在しません。

に置き換えられていることがわかりました

      org.apache.wicket.request.resource.ByteArrayResource

これを行う方法に関するチュートリアル/ヒントはありますか (Wicket 1.5 以降)?

4

2 に答える 2

3

ResourceLinkをByteArrayResourceで使用するか、任意のリンク/ボタンを使用して、そのonClick / onSubmit()で次のことを実行できます。

getRequestCycle().scheduleRequestHandlerAfterCurrent(
    new ResourceRequestHandler(new ByteArrayResource(...)))

どちらの場合も、content-dispositionヘッダーをオーバーライドorg.apache.wicket.request.resource.ByteArrayResource#configureResponse()して呼び出すResourceResponse#setContentDisposition(INLINE)ことにより、ヘッダーを設定する必要がある場合があります。

于 2012-08-23T05:29:31.773 に答える
0

オブジェクトタグからデータを変更するときは、ページ番号を渡します。これにより、ページが Adob​​e プラグインに渡され、ページが自動的に設定されます。(これは chrome 21 と IE9 でのみテストしました)

    <object wicket:id="myFile" data="" border="1" width="100%" height="600px"></object>

    WebMarkupContainer wmc = new WebMarkupContainer("myFile");
    wmc.add(new AttributeModifier("data", (String) urlFor(rr, null)+"#page="+ pageNmbr));
    add(wmc);
于 2012-08-23T06:50:27.553 に答える