0

我有一个带有 viewPanel 和对话框的页面。单击 viewPanel 中的项目时,将打开对话框,提示用户对该项目进行更改,并为他们提供生成 PDF 格式的项目报告的选项。

起初,我尝试将 PDF 创建放在一个按钮上,如下所述:http ://www.eknori.de/2011-10-25/xpages-to-pdf-with-itext/但是,每当按下按钮时,我得到一个“NotFoundError: DOM Exception 8”,它似乎源于 dojo JS。所以目前我有一个替代方法,该按钮只需设置一些 sessionScope 变量并打开一个 pdf.xsp XPage,在其中读回变量并创建 PDF。

PDF 被正确创建,但这也意味着用户所在的页面不会被刷新以在 viewPanel 中显示他们的新更改。我尝试在创建 PDF 的 XPage 底部添加页面重定向,但没有运气。

那么,如何创建 PDF 并提示用户下载它,同时刷新他们当前所在的页面?

4

1 回答 1

1

您是否正在对按钮进行部分刷新以隐藏对话框并执行生成 pdf 的代码?如果是这样你我认为有你的问题。您可以做的是对对话框的 onClose() 方法进行部分刷新以刷新视图面板。在客户端 onunload 方法中,您可以打开一个所谓的 xAgent,它会在新窗口中为您呈现 pdf (window.open(pdf.xsp?docid=xxx)。看看这里:NotesIn9: 039 Creating PDF's with XPages Part 2

当然,这种方法的问题在于,当您在 yoru 视图面板行中有一个显示是否已创建报告的按钮/图像时,不会显示,因为在刷新视图面板行期间 xagent 在 / 之后运行。

于 2013-06-13T20:20:07.453 回答