2012-08-22 58 views
0

我想添加一個功能,顯示某個頁面上的pdf。我在我的代碼中有pdf作爲文件。所以我無法從我的網絡服務器獲取它。頁面x上的Wicket display pdf? (java)

我也有pagenumber。 我看到adobe插件接受#page = 1,但我不知道如何在基於Web的應用程序中使用它。

我還發現了一些教程,它將顯示在Iframe中。但是這些使用方法:

 org.apache.wicket.markup.html.DynamicWebResource 

而且這已經不存在了。

我發現它是由

 org.apache.wicket.request.resource.ByteArrayResource 

更換是否有任何教程/如何做到這一點的提示(檢票1.5或更高版本)?

回答

0

當你修改你的數據時,對象標籤傳遞一個pagenumber。這將頁面傳遞給adobe插件並自動設置頁面。 (我只在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); 
2

您可以使用ResourceLink與使用ByteArrayResource,或者你可以使用任何鏈接/按鈕,並在其的onClick /的onsubmit(),你可以這樣做:

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

在這兩種情況下,你可能需要設置的內容部署通過重寫org.apache.wicket.request.resource.ByteArrayResource#configureResponse()併爲其調用ResourceResponse#setContentDisposition(INLINE)

+0

我現在使用的資源引用是和資源鏈接一樣嗎? – DavidVdd